O que vem instalado no seu servidor Supabase?
- Configuração oficial do Supabase em Docker, fixada na tag de versão v1.26.08
- PostgreSQL 17 e a tela de administração Studio
- Os serviços Auth, PostgREST, Realtime, Storage e Edge Runtime
- Pooler de conexões Supavisor, com as portas 5432 e 6543 abertas
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY e POSTGRES_PASSWORD, geradas pelos scripts oficiais
- HTTPS pelo Caddy em um endereço sslip.io baseado no seu IP, então um domínio é opcional
- Configurações em /opt/seturack/supabase/.env
- Firewall com apenas as portas 22, 80, 443, 5432 e 6543 abertas
Qual tamanho você precisa para Supabase?
A documentação do Supabase em Docker define o mínimo em 4 GB de RAM, 2 núcleos e 40 GB de disco, e recomenda 8 GB ou mais de RAM, 4 ou mais núcleos e 80 GB ou mais de disco. Use 4 GB como ponto de partida para desenvolvimento e projetos pequenos, e considere 8 GB para um projeto com usuários reais. Remover do arquivo Compose os serviços que você não usa, como Realtime ou Storage, reduz os requisitos. Se não for suficiente, aumente RAM, CPU e disco separadamente pelo painel, e seus dados e seu endereço IP continuam os mesmos.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês | |
| Médio | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mês | |
| Potente | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mês |
Para quem é?
- Quem está levando um projeto Supabase para o próprio servidor
- Quem criou um app com ferramentas de IA e quer o banco de dados e o login em um servidor próprio
- Desenvolvedores que montam o próprio ambiente de desenvolvimento e testes
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia e o Supabase se instala sozinho. Nos nossos testes em servidores reais, isso levou cerca de 8 minutos. Na aba Visão geral, espere a linha App dizer que o Supabase está pronto.
- Abra o link da linha Endereço do painel. O navegador pede o Login e a Senha e depois o Studio abre.
- Conecte-se por SSH e leia as chaves: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Passe ao seu app o Endereço do painel e a chave publishable, e mantenha a chave secreta apenas no lado do servidor.
- Defina SITE_URL e ADDITIONAL_REDIRECT_URLS no .env com o endereço do seu app e execute docker compose up -d.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- O Supabase auto-hospedado roda um único projeto. A documentação oficial diz que branching, PITR, a Management API e analytics buckets não estão disponíveis nesta configuração.
- Depois da instalação, o SITE_URL do Auth é o endereço do Studio protegido por senha, então os links dos e-mails vão para lá. Coloque o endereço do seu app em SITE_URL e ADDITIONAL_REDIRECT_URLS.
- As portas 5432 e 6543 estão abertas para a internet, e o ufw não consegue fechá-las porque o Docker as publica. Para limitá-las, adicione 127.0.0.1: no início das linhas de porta do Supavisor em docker-compose.yml e use um túnel SSH.
- As atualizações são responsabilidade sua. O Supabase publica sua configuração Compose cerca de uma vez por mês, e o script update.sh na pasta incorpora as mudanças à sua instalação.
Perguntas e respostas sobre Supabase
De quanta RAM o Supabase auto-hospedado precisa?
A documentação do Supabase pede pelo menos 4 GB de RAM, 2 núcleos e 40 GB de disco para uma instalação auto-hospedada e recomenda 8 GB ou mais de RAM. Remover do arquivo Compose os serviços que você não usa reduz os requisitos.
Onde encontro minhas chaves de API do Supabase?
Conecte-se por SSH e olhe em /opt/seturack/supabase/.env. A SUPABASE_PUBLISHABLE_KEY é para o código do cliente. A SUPABASE_SECRET_KEY tem todos os direitos e pertence apenas ao lado do servidor. As antigas ANON_KEY e SERVICE_ROLE_KEY continuam funcionando.
Como conecto meu app ao Supabase auto-hospedado?
Com o supabase-js, passe o Endereço do painel e o valor de SUPABASE_PUBLISHABLE_KEY para o createClient. REST, Auth, Storage e Realtime ficam todos sob esse endereço. O login e a senha que o navegador pede valem só para o Studio, e as requisições de API são verificadas por chave.
Como me conecto ao banco de dados do Supabase de fora?
As conexões passam pelo Supavisor: postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. A porta 5432 é o modo de sessão e a 6543 é o modo de transação. O your-tenant-id é o valor de POOLER_TENANT_ID no .env. O Postgres em si não é publicado para fora.
Por que os e-mails de cadastro do Supabase não chegam?
Nenhum servidor SMTP de verdade é configurado na instalação, então os cadastros com confirmação por e-mail não conseguem terminar. Preencha os valores que começam com SMTP_ em /opt/seturack/supabase/.env com os dados do seu provedor de e-mail e depois execute docker compose up -d nessa pasta. Para permitir cadastros sem confirmação, veja a configuração ENABLE_EMAIL_AUTOCONFIRM.
Posso rodar vários projetos do Supabase?
Uma instalação roda um único projeto, e o Studio não oferece suporte a várias organizações ou projetos. Use um servidor separado para cada projeto.
Os dados do meu Supabase têm backup?
Seu servidor tem backup toda noite, com os últimos 7 dias guardados, e isso está incluído no preço. Os backups gerenciados e o PITR do Supabase não fazem parte de uma instalação auto-hospedada. Para voltar a um momento específico, guarde também seus próprios arquivos pg_dump.