VPS: Configurar Supabase no Linux
Este guia foi criado com os seguintes produtos:
(Os detalhes podem variar com produtos de diferentes fornecedores, mas os conceitos principais permanecem os mesmos)
Introdução
Supabase é uma plataforma de desenvolvimento Postgres open-source que oferece um banco de dados Postgres completo, além de autenticação, APIs instantâneas, realtime e armazenamento, sendo uma alternativa open-source ao Firebase.
Quer hospedar esse serviço por conta própria? Vamos te guiar em cada passo para configurar e ajustar tudo, além de te mostrar o que é importante ficar de olho.
Requisitos
Antes de instalar o Supabase, certifique-se de que seu ambiente de hospedagem atende aos seguintes requisitos para garantir uma instalação tranquila e desempenho ideal.
Hardware | Mínimo | Recomendação ZAP-Hosting |
---|---|---|
CPU | 1 núcleo vCPU | 4 núcleos vCPU |
RAM | 4 GB | 8 GB |
Espaço em disco | 25 GB | 25 GB |
O software exige que todas as dependências necessárias estejam instaladas e que esteja rodando em um sistema operacional suportado. Garanta que seu servidor atenda aos seguintes requisitos antes de continuar com a instalação:
Dependências: Git
, Docker (Engine e Compose)
Sistema Operacional: Última versão do Ubuntu/Debian com suporte ao Docker 2
Verifique se todas as dependências estão instaladas e se a versão correta do sistema operacional está em uso para evitar problemas de compatibilidade durante a instalação do Supabase.
Preparação
Antes de configurar o Supabase, você precisa preparar seu sistema. Isso inclui atualizar seu sistema operacional para a versão mais recente e instalar todas as dependências necessárias. Essas preparações garantem um ambiente estável e ajudam a evitar problemas durante ou após a instalação.
Atualizar Sistema
Para garantir que seu sistema esteja rodando com as melhorias mais recentes de software e segurança, sempre faça a atualização do sistema primeiro. Para isso, execute o comando:
sudo apt update && sudo apt upgrade -y
Isso garante que seu sistema tenha os patches de segurança e versões de software mais recentes antes de continuar.
Instalar dependências
Após o processo de atualização, você pode prosseguir com a instalação das dependências.
Git
Os dados do Supabase serão baixados via GitHub. Por isso, é necessário ter o Git instalado primeiro. Execute o comando:
sudo apt install git-all
Docker
O Supabase será implantado e executado na sua máquina usando um container Docker. Portanto, o Docker precisa estar instalado. Execute o comando:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Um passo a passo completo da instalação e uso do Docker está disponível no nosso guia Docker.
Instalação
Agora que todos os requisitos foram atendidos e as preparações feitas, você pode seguir com a instalação do Supabase.
Clone o repositório do Supabase, crie um diretório dedicado para o projeto e copie os arquivos Docker e o arquivo de ambiente de exemplo para ele.
git clone --depth 1 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/* supabase-project
cp supabase/docker/.env.example supabase-project/.env
Entre no diretório do projeto, puxe as imagens mais recentes dos containers e inicie a stack em modo destacado.
cd supabase-project
docker compose pull
docker compose up -d
Agora você pode acessar o Supabase Studio via http://<seu-ip>:8000
. Será solicitado usuário e senha. Por padrão, as credenciais são:
- Usuário:
supabase
- Senha:
this_password_is_insecure_and_should_be_updated
Seu app está rodando com credenciais padrão. Proteja seus serviços o quanto antes usando as instruções abaixo.
Configuração
Nunca faça deploy com valores padrão ou de exemplo. Substitua todos os placeholders por segredos fortes e únicos, revise a configuração conforme suas necessidades de segurança e reinicie todos os serviços para aplicar as mudanças.
Gere chaves API seguras antes de expor qualquer serviço. Comece escolhendo um segredo JWT de 40 caracteres. Você pode usar o valor fornecido ou criar o seu. Guarde esse segredo localmente em um lugar seguro. Não compartilhe e não faça commit no controle de versão. Use o segredo para gerar um JWT e depois derive as chaves API anon e service usando o formulário referenciado na documentação do Supabase: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
Execute o formulário duas vezes para gerar ambas as chaves. Atualize seu ./docker/.env
com:
ANON_KEY
: chave anonSERVICE_ROLE_KEY
: chave service
Atualize os segredos obrigatórios em ./docker/.env
. Esses valores devem estar configurados para que o deploy funcione:
POSTGRES_PASSWORD
: senha para o usuáriopostgres
JWT_SECRET
: usado pelo PostgREST e GoTrueSITE_URL
: URL base do seu siteSMTP_*
: credenciais do servidor de emailPOOLER_TENANT_ID
: tenant id usado pelo pooler Supavisor
Proteja o Dashboard com novas credenciais antes de usar em produção. Edite ./docker/.env
:
DASHBOARD_USERNAME
: usuário do dashboardDASHBOARD_PASSWORD
: senha do dashboard
Você pode definir múltiplos usuários para o dashboard em ./docker/volumes/api/kong.yml
:
basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two
Para habilitar todos os recursos do dashboard fora do localhost
, defina SUPABASE_PUBLIC_URL
em ./docker/.env
para a URL ou IP que você usará para acessar o dashboard.
Aplique as mudanças reiniciando a stack:
docker compose down
docker compose up -d
Conclusão e mais Recursos
Parabéns! Você instalou e configurou o Supabase com sucesso no seu VPS. Também recomendamos dar uma olhada nos recursos abaixo, que podem te ajudar ainda mais durante a configuração do seu servidor:
- Supabase.com - Site Oficial
- Supabase.com/docs/guides/self-hosting - Documentação Supabase
Tem dúvidas específicas que não foram respondidas aqui? Para mais perguntas ou suporte, não hesite em contatar nosso time de suporte, disponível diariamente para te ajudar! 🙂