O que vem instalado no servidor Supabase?
- Configuração Docker oficial do Supabase, fixada na etiqueta de versão v1.26.08
- PostgreSQL 17 e o ecrã de administração Studio
- Os serviços Auth, PostgREST, Realtime, Storage e Edge Runtime
- Agrupador de ligações Supavisor, com as portas 5432 e 6543 abertas
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY e POSTGRES_PASSWORD, gerados pelos scripts oficiais
- HTTPS através do Caddy num endereço sslip.io baseado no seu IP, pelo que o domínio é opcional
- Definições em /opt/seturack/supabase/.env
- Firewall com apenas as portas 22, 80, 443, 5432 e 6543 abertas
Que tamanho é necessário para o Supabase?
A documentação Docker do Supabase 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 utilizadores reais. Retirar do ficheiro Compose os serviços que não usa, como o Realtime ou o Storage, reduz os requisitos. Se não chegar, aumente a RAM, o CPU e o disco em separado a partir do painel, e os seus dados e o endereço IP mantêm-se.
| Utilização | 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 passa um projeto Supabase para o seu próprio servidor
- Quem criou uma aplicação com ferramentas de IA e quer a base de dados e o início de sessão no seu próprio servidor
- Programadores que montam um ambiente próprio de desenvolvimento e teste
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O seu servidor arranca e o Supabase instala-se sozinho. Nos nossos testes em servidores reais, demorou cerca de 8 minutos. No separador Resumo, espere que a linha Aplicação indique que o Supabase está pronto.
- Abra a ligação na linha Endereço do painel. O navegador pede o Utilizador e a Palavra-passe e depois abre o Studio.
- Ligue-se por SSH e leia as chaves: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Dê à aplicação o Endereço do painel e a chave publicável, e mantenha a chave secreta do lado do servidor.
- Defina SITE_URL e ADDITIONAL_REDIRECT_URLS em .env com o endereço da sua aplicação e depois execute docker compose up -d.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- O Supabase autoalojado executa um único projeto. A documentação oficial diz que branching, PITR, a Management API e os analytics buckets não estão disponíveis nesta configuração.
- Após a configuração, o SITE_URL do Auth é o endereço do Studio protegido por palavra-passe, e as ligações dos e-mails vão para lá. Coloque o endereço da sua aplicação em SITE_URL e ADDITIONAL_REDIRECT_URLS.
- As portas 5432 e 6543 estão abertas à Internet, e o ufw não as consegue fechar porque o Docker as publica. Para as limitar, acrescente 127.0.0.1: ao início das linhas de porta do Supavisor em docker-compose.yml e use um túnel SSH.
- As atualizações são da sua responsabilidade. O Supabase publica a sua configuração Compose cerca de uma vez por mês, e o script update.sh na pasta junta as alterações à sua instalação.
Supabase: perguntas e respostas
De quanta RAM precisa o Supabase autoalojado?
A documentação do Supabase pede pelo menos 4 GB de RAM, 2 núcleos e 40 GB de disco para uma instalação autoalojada, e recomenda 8 GB ou mais de RAM. Retirar do ficheiro Compose os serviços que não usa reduz os requisitos.
Onde encontro as minhas chaves de API do Supabase?
Ligue-se por SSH e consulte /opt/seturack/supabase/.env. A SUPABASE_PUBLISHABLE_KEY é para o código do cliente. A SUPABASE_SECRET_KEY tem direitos totais e pertence apenas ao lado do servidor. As antigas ANON_KEY e SERVICE_ROLE_KEY continuam a funcionar.
Como ligo a minha aplicação ao Supabase autoalojado?
Com o supabase-js, passe o Endereço do painel e o valor de SUPABASE_PUBLISHABLE_KEY ao createClient. REST, Auth, Storage e Realtime estão todos sob esse endereço. O utilizador e a palavra-passe que o navegador pede servem apenas para o Studio, e os pedidos à API são verificados por chave.
Como me ligo de fora à base de dados do Supabase?
As ligaçõ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. your-tenant-id é o valor de POOLER_TENANT_ID em .env. O próprio Postgres não é publicado para o exterior.
Porque não chegam os e-mails de registo do Supabase?
Não é configurado nenhum servidor SMTP real na instalação, por isso os registos com confirmação por e-mail não conseguem terminar. Preencha os valores que começam por SMTP_ em /opt/seturack/supabase/.env com os do seu fornecedor de e-mail e depois execute docker compose up -d nessa pasta. Para permitir registos sem confirmação, veja a definição ENABLE_EMAIL_AUTOCONFIRM.
Posso executar vários projetos Supabase?
Uma instalação executa um único projeto, e o Studio não suporta várias organizações nem projetos. Use um servidor à parte para cada projeto.
É feita cópia de segurança dos meus dados do Supabase?
É feita uma cópia de segurança do servidor todas as noites, são guardados os últimos 7 dias e isto está incluído no preço. As cópias geridas e o PITR do Supabase não fazem parte de uma instalação autoalojada. Para voltar a um momento específico, guarde também os seus próprios ficheiros pg_dump.