5.1 KiB
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
- Envoy - API gateway (default; Kong is available as an optional override via
sh run.sh config add kong) - Auth - 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
- Self-Hosting with Docker - Setup and configuration guides
- CHANGELOG.md - Track recent updates and changes to services
- versions.md - Complete history of Docker image versions for rollback reference
- Ask DeepWiki / Supabase - DeepWiki-generated description of self-hosted configuration
- CONFIG.md - Configuration reference for all environment variables
- Update your deployment - Update an existing deployment with
update.sh
Updates
Back up your database, then:
sh update.sh --dry-run # optional preview
sh update.sh
sh run.sh pull && sh run.sh recreate
See the update guide for conflicts,
breaking changes, pinning a release, and older installs without .supabase-version.
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:
- 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 - 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 main installation guide and the how-tos in the documentation.
License
This repository is licensed under the Apache 2.0 License. See the main Supabase repository for details.