Self-Hosted Supabase with Docker
This is the official Docker Compose setup for self-hosted Supabase. It provides a complete stack with all Supabase services running locally or on your infrastructure.
Getting Started
Follow the detailed setup guide in our documentation: Self-Hosting with Docker
The guide covers:
- Prerequisites (Git and Docker)
- Initial setup and configuration
- Securing your installation
- Accessing services
- Updating your instance
What's Included
This Docker Compose configuration includes the following services:
- Studio - A dashboard for managing your self-hosted Supabase project
- Kong - Kong API gateway
- GoTrue - JWT-based authentication API for user sign-ups, logins, and session management
- PostgREST - Web server that turns your PostgreSQL database directly into a RESTful API
- Realtime - Elixir server that listens to PostgreSQL database changes and broadcasts them over websockets
- Storage - RESTful API for managing files in S3, with Postgres handling permissions
- ImgProxy - Fast and secure image processing server
- postgres-meta - RESTful API for managing Postgres (fetch tables, add roles, run queries)
- PostgreSQL - Object-relational database with over 30 years of active development
- Edge Runtime - Web server based on Deno runtime for running JavaScript, TypeScript, and WASM services
- Logflare - Log management and event analytics platform
- Vector - High-performance observability data pipeline for logs
- Supavisor - Supabase's Postgres connection pooler
Documentation
- Documentation - Setup and configuration guides
- CHANGELOG.md - Track recent updates and changes to services
- versions.md - Complete history of Docker image versions for rollback reference
Updates
To update your self-hosted Supabase instance:
- Review CHANGELOG.md for breaking changes
- Check versions.md for new image versions
- Update
docker-compose.ymlif there are configuration changes - Pull the latest images:
docker compose pull - Stop services:
docker compose down - Start services with new configuration:
docker compose up -d
Note: Consider to always backup your database before updating.
Community & Support
For troubleshooting common issues, see:
- GitHub Discussions - Questions, feature requests, and workarounds
- GitHub Issues - Known issues
- Documentation - Setup and configuration guides
Self-hosted Supabase is community-supported. Get help and connect with other users:
Share your self-hosting experience and read what's working for other users:
- GitHub Discussions - Self-hosting: What's working (and what's not)?)
Important Notes
Security
⚠️ The default configuration is not secure for production use.
Before deploying to production, you must:
- Update all default passwords and secrets in the
.envfile - Generate new JWT secrets
- Review and update CORS settings
- Consider setting up a secure proxy in front of self-hosted Supabase
- Review and adjust network security configuration (ACLs, etc.)
- Set up proper backup procedures
See the security section in the documentation.
License
This repository is licensed under the Apache 2.0 License. See the main Supabase repository for details.