Storage Services
Overview
MOOD MNKY’s storage services provide secure and scalable solutions for managing various types of data, from user-generated content to application assets. Our primary storage is powered by Supabase Storage with both standard API access and S3-compatible protocol support.Storage Solutions
Database Storage
Structured data storage with Supabase/PostgreSQL
Object Storage
Unstructured file and media storage via Supabase Storage
S3-Compatible Storage
Direct S3 protocol access to Supabase Storage
Local Storage
Client-side persistent storage options
Supabase Storage
Supabase Storage provides a secure, scalable solution for storing and serving files in the MOOD MNKY ecosystem. It’s integrated with Supabase’s Row Level Security (RLS) for fine-grained access control.Standard API Access
The standard way to interact with Supabase Storage is through the Supabase client:S3-Compatible API Access
For advanced use cases, Supabase Storage also supports the S3 protocol, allowing you to use AWS SDK or other S3-compatible tools:Environment Configuration
The storage service is configured through environment variables:Storage Buckets
The MOOD MNKY platform uses several storage buckets for different purposes:| Bucket Name | Purpose | Access Control |
|---|---|---|
public | Publicly accessible assets | Public read |
profiles | User profile pictures and data | User-specific access |
products | Product images and assets | Public read |
user-content | User-generated content | Creator and admin access |
temp | Temporary storage for processing | Time-limited access |
Security Best Practices
- Use RLS Policies: Always define Row Level Security policies for your storage buckets
- Validate File Types: Implement client and server-side validation for uploaded files
- Set Size Limits: Configure maximum file sizes to prevent abuse
- Use Signed URLs: For temporary access to restricted files
- Implement Content Scanning: For user-uploaded content
Performance Optimization
- Image Transformations: Use Supabase Storage image transformations for responsive images
- CDN Integration: Configure a CDN in front of Supabase Storage for improved delivery
- Chunked Uploads: Implement chunked uploads for large files
- Optimized File Formats: Convert images to WebP and other optimized formats
- Lazy Loading: Implement lazy loading for images and other media