Source: http://dadhacks.org/2025/08/04/running-supabase-in-a-proxmox-docker-vm-a-step-by-step-guide/
Supabase and Proxmox
In today’s rapidly evolving tech landscape, developers often need flexible and scalable solutions for hosting applications — especially when looking to self-host services like Supabase. One powerful approach is to deploy Supabase using a Proxmox VE Docker VM. This setup not only offers flexibility and isolation but also allows for easy updates and maintenance.
Why Use Proxmox VE?
Proxmox VE stands out as a free and open-source virtualization platform that supports both KVM and LXC containers. What makes it particularly appealing for developers is its ability to manage virtual machines (VMs) with full OS support, unlike some containerized alternatives.
Furthermore, Proxmox allows for Docker in a VM, which means you get the best of both worlds: the isolation and management of a VM with the lightweight efficiency of Docker containers. Since Docker in LXC containers isn’t as straightforward to maintain, deploying Docker within a Proxmox VM is the recommended way to go.
Deploying a Docker VM in Proxmox
To simplify the process, the community-scripts project provides a convenient script to create a Docker-ready VM. You can find detailed documentation at https://community-scripts.github.io/ProxmoxVE/scripts?id=docker-vm.
Srated for meee LXC by community skript docker
Here’s how to get started:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/docker-vm.sh)"
This script will set up a Docker-enabled VM in Proxmox, complete with the necessary tools and configurations. Once deployed, you can access the VM via SSH or console, using the default login:
- Username:
root
- Password:
docker
Of course, you should change the default password immediately to ensure security.
Installing Supabase in Your Docker VM
Now that you have your Docker VM running, it’s time to install Supabase — an open-source Firebase alternative that provides real-time databases, authentication, and more. For detailed installation instructions, refer to the official Supabase documentation: https://supabase.com/docs/guides/self-hosting/docker
Step-by-Step Installation
First, you need to clone the Supabase repository and set up your project directory:
git clone --depth 1 https://github.com/supabase/supabase
mkdir supabase-project
Your folder structure should now look like this:
.
├── supabase
└── supabase-project
Next, copy the necessary Docker Compose files and environment variables:
cp -rf supabase/docker/* supabase-project
cp supabase/docker/.env.example supabase-project/.env
Now, switch to your project directory and pull the latest images:
cd supabase-project
docker compose pull
Then, start all the services in detached mode:
docker compose up -d
You can verify that all services are running correctly with:
docker compose ps
If any service is not running, try starting it manually:
docker compose start <service-name>
Accessing Supabase Studio
Once everything is up and running, you can access Supabase Studio — the admin UI for managing your Supabase project — through the API gateway on port 8000.
For example, if your VM’s IP address is 192.168.1.100
, you would visit:
http://192.168.1.100:8000
By default, the login credentials are:
- Username:
supabase
- Password:
this_password_is_insecure_and_should_be_updated
As mentioned earlier, it’s critical to update the default password immediately for security reasons.
Why Choose This Approach?
Using Proxmox VE to host Supabase offers several advantages:
- Full OS support: Unlike containers, VMs allow for full control over the guest OS.
- Easy updates: VMs can be upgraded independently, making them more manageable than LXC containers.
- Isolation: Each VM functions as a separate unit, improving stability and security.
- Scalability: You can easily scale resources or replicate your setup for development and production.
Conclusion
Deploying Supabase in a Proxmox VE Docker VM is an efficient and secure way to self-host your Supabase infrastructure. It leverages the strengths of both virtualization and containerization, offering scalability and maintenance benefits.
Whether you’re a developer looking to host a custom backend or a team managing multiple projects, this setup provides an excellent foundation.