Prerequisites
Before starting, ensure you have:1
Install Git
2
Install Docker
Docker Compose v2 is required (included with Docker Engine 20.10+). The command is
docker compose, not docker-compose.Quick Start
1
Clone Repository
2
Copy Environment File
3
Generate Secrets
Generate secure passwords and JWT secrets:Or generate manually:Update your
.env file with generated values:POSTGRES_PASSWORDJWT_SECRETANON_KEY(generate at https://supabase.com/docs/guides/self-hosting/docker#api-keys)SERVICE_ROLE_KEYDASHBOARD_USERNAMEandDASHBOARD_PASSWORD
4
Start Supabase
5
Access Dashboard
Open your browser to:
- Studio Dashboard: http://localhost:8000
- Database: localhost:5432
- API Gateway: http://localhost:8000
- Username:
supabase(or yourDASHBOARD_USERNAME) - Password: From your
.envfile
You now have a fully functional Supabase instance running locally!
Docker Compose Configuration
Thedocker-compose.yml file defines all Supabase services:
Included Services
Service Versions
Latest stable versions as of February 2026:- Studio: 2026.02.16
- Auth (GoTrue): v2.186.0
- PostgREST: v14.5
- Realtime: v2.76.5
- Storage: v1.37.8
- Edge Runtime: v1.70.3
- PostgreSQL: 15.8.1
Environment Configuration
Key environment variables in.env:
Secrets (MUST CHANGE)
URLs
Database
Storage
Managing Services
Start/Stop Services
View Logs
Check Service Health
Update Services
Data Persistence
Docker volumes store persistent data:Volume Locations
Accessing Services
Database Access
Via Supavisor (Recommended):API Endpoints
All APIs are accessible through Kong gateway:Studio Dashboard
Access the web dashboard at http://localhost:8000.Advanced Configuration
S3 Storage
Use S3-compatible storage instead of local files:.env with S3 credentials:
Custom Domain
Configure Kong for custom domain:HTTPS/SSL
Enable SSL in Kong:- Generate or obtain SSL certificates
- Uncomment SSL configuration in
docker-compose.yml - Mount certificates in Kong container
- Restart services
Troubleshooting
Services Won't Start
Services Won't Start
Check logs for errors:Common issues:
- Port conflicts (8000, 5432 already in use)
- Insufficient memory (less than 4GB available)
- Docker daemon not running
Database Connection Fails
Database Connection Fails
Verify Postgres is healthy:Check credentials in
.env match connection string.Studio Shows 'Invalid JWT'
Studio Shows 'Invalid JWT'
Regenerate JWT keys:Update
ANON_KEY and SERVICE_ROLE_KEY in .env, then restart:Storage Upload Fails
Storage Upload Fails
Check storage volume permissions:
High Memory Usage
High Memory Usage
Reduce Postgres shared_buffers:Restart database:
Next Steps
Configuration
Learn about environment variables and advanced config
Security
Secure your installation for production
Updates
Keep your stack up-to-date
Backup
Set up automated backups
