Supabase self-hosting with Docker
- Supabase’s official Docker guide says self-hosting starts by cloning the Supabase repo, copying its docker files, and pulling the latest container images. - The guide sets a floor of 4 gigabytes of RAM, 2 CPU cores, and 50 gigabytes of SSD storage for development. - Supabase recommends Docker for self-hosting, but says operators must handle backups, security, scaling, and updates themselves. (supabase.com)
Supabase’s self-hosting guide uses Docker Compose to run the company’s database, authentication, storage, analytics, and dashboard services on your own machine or server. (supabase.com) The setup starts by cloning the Supabase GitHub repository, creating a separate project directory, copying the contents of `supabase/docker`, and duplicating `.env.example` into a local `.env` file. (supabase.com) From there, the guide tells operators to pull the latest images with `docker compose pull` before starting containers, and to change `DOCKER_SOCKET_LOCATION` when using rootless Docker. (supabase.com) Supabase frames Docker as the fastest and recommended path for self-hosting, but it draws a line between this setup and the company’s managed platform. Self-hosted deployments mimic a single project and do not include platform features like branching, managed backups, point-in-time recovery, or the platform management application programming interface. (supabase.com 1) (supabase.com 2) The guide also makes clear that the sample secrets in `.env.example` are placeholders and should never be used in a live deployment. Operators are told to replace default passwords and keys before exposing services. (supabase.com) For hardware, Supabase lists 4 gigabytes of RAM, 2 CPU cores, and 50 gigabytes of solid-state storage as the minimum for all components, with 8 gigabytes of RAM, 4 cores, and 80 gigabytes recommended. (supabase.com) The company says those requirements can drop if teams remove services they do not need, including Logflare analytics, Realtime, Storage, imgproxy, or the Edge Runtime for functions. (supabase.com) Supabase also separates self-hosting from local development with its command-line interface. The local stack also uses Docker containers, but the documentation says the command-line interface is meant for development and testing, not for publishing a production service. (supabase.com 1) (supabase.com 2) That distinction carries into operations: Supabase says self-hosted instances do not phone home, but administrators are responsible for server maintenance, database care, monitoring, backups, disaster recovery, and uptime. (supabase.com) The result is a practical blueprint for anyone who wants the Supabase stack inside their own infrastructure, with Docker doing the packaging and the operator taking over the day-two work. (supabase.com)