Supabase Self-Hosted vs Supabase Cloud em 2027: Como Rodar Auth, Storage S3, Realtime e pgvector na Própria VPS

Supabase Self-Hosted vs Supabase Cloud em 2027: Como Rodar Auth, Storage S3, Realtime e pgvector na Própria VPS

Resposta Rápida / TL;DR

O Supabase Self-Hosted compensa financeiramente quando seu projeto ultrapassa os limites do plano gratuito ou quando o faturamento em dólar (US$ 25/mês base + cobranças adicionais de MAU, compute e egress + IOF) se torna um peso. Hospedar o Supabase na sua própria VPS KVM no Brasil entrega controle total dos dados, latência ultrabaixa (< 10ms) e pgvector sem limites artificiais de memória, exigindo um servidor com no mínimo 4GB a 8GB de RAM para operar com folga e estabilidade.

Pontos principais

  • Fatura cambial sob controle: elimine a cobrança em moeda estrangeira e taxas de IOF de 4,38%, mantendo um custo fixo previsível em Reais com emissão de nota fiscal.
  • Arquitetura completa self-hosted: aprenda a orquestrar Kong, GoTrue Auth, PostgREST, Realtime, Storage e PostgreSQL 16 com a extensão pgvector em containers integrados.
  • Dimensionamento realista de memória: entenda por que servidores de 2GB de RAM sofrem travamentos por OOM Killer e por que 4GB a 8GB de RAM é o patamar técnico obrigatório.
  • Soberania e latência nacional: manter o banco de dados e os arquivos no Brasil garante tempos de resposta de 6,6ms em São Paulo e conformidade estrita com a LGPD.
Índice do artigo

    Resposta Rápida (Direto ao Ponto)

    O Supabase Self-Hosted em 2027 é a escolha definitiva para desenvolvedores e empresas brasileiras que precisam do poder de um Backend-as-a-Service moderno (Auth, Storage S3, Realtime e pgvector) sem se submeter à fatura em dólar com IOF e custos surpresa de tráfego de saída (egress) da nuvem gerenciada.

    Para rodar a stack com estabilidade, é indispensável uma VPS KVM nacional com no mínimo 4 vCPUs e 4GB de memória RAM (o ideal para cargas de IA com embeddings é de 8GB a 12GB de RAM). Na You Secure, você pode iniciar sua instância em São Paulo a partir de R$ 49,50 no 1º mês (cupom META50, sem fidelidade) com 100GB NVMe, cluster Docker pronto com PostgreSQL 16 e Redis 7 (BullMQ) e acesso Root/SSH irrestrito com apenas 6,6ms de latência no IX.br. Conheça as opções em Melhor VPS para Começar 2027 e VPS sem fidelidade no Brasil.

    O Dilema do Supabase em 2027: Agilidade do BaaS vs Fatura Dolarizada

    O Supabase conquistou o posto de principal alternativa open source ao Firebase do Google. Ao combinar o poder transacional do PostgreSQL com ferramentas modernas de autenticação (GoTrue), APIs automáticas (PostgREST), mensageria em tempo real (Realtime WebSockets), armazenamento de arquivos e indexação vetorial nativa (pgvector), ele se tornou a base padrão para startups, SaaS e produtos impulsionados por Inteligência Artificial.

    Contudo, à medida que a aplicação ganha tração no mercado brasileiro, manter a infraestrutura no Supabase Cloud frequentemente se torna uma armadilha financeira e de latência:

    • Estrutura de Preços em Dólar e IOF: O plano Pro base custa US$ 25 por mês por projeto. Esse valor cobre até 100.000 usuários ativos mensais (MAU) e 8GB de banco de dados. Qualquer excedente gera faturas adicionais calculadas em dólares: compute add-ons (US$ 10 a US$ 100+/mês), armazenamento adicional e egress de banda. Convertido para o Real com IOF de 4,38%, o custo mensal rapidamente escala para R$ 400 a R$ 1.500+.
    • Latência Transatlântica: Por padrão, muitos clusters da versão em nuvem operam em regiões como Virgínia (us-east-1) ou Frankfurt. Uma query simples de autenticação ou busca semântica precisa viajar dezenas de milhares de quilômetros por cabos submarinos, impondo uma penalidade de 120ms a 180ms por round-trip para usuários no Brasil.
    • Conformidade Regulatória e LGPD: Setores regulados (saúde, finanças, jurídico) exigem que dados cadastrais de cidadãos brasileiros e arquivos anexos estejam fisicamente armazenados em território nacional, sob jurisdição legal brasileira.

    Anatomia da Stack: O Que Roda no Supabase Self-Hosted

    Ao contrário de sistemas monolíticos simples, o Supabase é composto por uma constelação de microsserviços altamente especializados que se comunicam através de uma rede interna virtual orquestrada pelo Docker:

    1. Kong API Gateway: Atua como a porta de entrada única da stack. Recebe todas as requisições HTTPS e faz o roteamento inteligente: requisições para /auth/v1 vão para o GoTrue; requisições para /rest/v1 vão para o PostgREST; e requisições para /storage/v1 vão para a Storage API.
    2. PostgreSQL 16 com Extensões: O coração do ecossistema. Roda uma versão corporativa do Postgres com extensões como pgcrypto, pg_jwt, uuid-ossp e pgvector.
    3. GoTrue (Auth Service): Serviço escrito em Go que gerencia o ciclo de vida completo de autenticação: sign-up, login por e-mail/senha, links mágicos, MFA/TOTP, OAuth social (Google, GitHub) e emissão de JSON Web Tokens (JWT) criptografados.
    4. PostgREST: Servidor em Haskell ultraveloz que inspeciona o schema do PostgreSQL e gera dinamicamente endpoints RESTful completos com suporte nativo a filtros, ordenação e respeito rigoroso às políticas de Row Level Security (RLS).
    5. Realtime Server: Aplicação escrita em Elixir/Phoenix que escuta o log de replicação lógica (WAL) do PostgreSQL e transmite alterações de dados em tempo real para o frontend via WebSockets.
    6. Storage API: Microsserviço em Node.js que implementa controle de acesso granular e upload de arquivos, comunicando-se com backends compatíveis com S3 (como AWS S3, Cloudflare R2 ou um MinIO local).
    7. Supabase Studio: O painel visual web idêntico ao da nuvem oficial, permitindo gerenciar tabelas, executar queries SQL, visualizar logs e inspecionar permissões de autenticação.

    Por Que Servidores de 2GB de RAM Falham Miseravelmente

    Um erro comum entre desenvolvedores que tentam hospedar o Supabase pela primeira vez é contratar instâncias baratas de 2GB de RAM (muito comuns em hospedagens compartilhadas ou VPS de entrada).

    O cálculo de consumo de memória em repouso da stack revela a inviabilidade dessa abordagem:

    Componente da Stack Consumo de RAM em Repouso Consumo de RAM sob Carga
    Sistema Operacional (Ubuntu + Docker Daemon) 450MB - 550MB 600MB - 700MB
    PostgreSQL 16 + pgvector 512MB - 800MB 1.200MB - 2.500MB
    Kong API Gateway 180MB - 250MB 300MB - 450MB
    GoTrue Auth + PostgREST + Realtime 350MB - 500MB 600MB - 900MB
    Storage API + Supabase Studio 250MB - 350MB 400MB - 600MB
    Total de Memória Necessária 1.740MB - 2.450MB 3.100MB - 5.150MB

    Como demonstrado na tabela, em uma VPS de 2GB de RAM, antes mesmo do primeiro usuário real realizar login, o servidor já atinge 100% de uso de memória. Quando isso acontece, o mecanismo OOM Killer (Out Of Memory) do Linux é disparado, encerrando violentamente o processo do PostgreSQL ou do Kong. Por essa razão, a You Secure só disponibiliza instâncias a partir de 4GB de RAM, garantindo estabilidade absoluta. Se você também roda automações de mensageria com VPS para Evolution API v3 ou workflows pesados em VPS para n8n, recomendamos separar os serviços ou dimensionar para instâncias de 8GB a 12GB de RAM.

    Configuração Prática de Produção na VPS com Docker Compose

    Para instalar o Supabase na sua VPS You Secure, clone o repositório oficial de deploy e configure as variáveis de ambiente essenciais:

    # 1. Acesse sua VPS via SSH e clone a infraestrutura oficial do Supabase:
    git clone --depth 1 https://github.com/supabase/supabase
    cd supabase/docker
    
    # 2. Copie o template de variáveis de ambiente:
    cp .env.example .env
    
    # 3. Gere segredos criptográficos fortes (NUNCA use senhas padrão em produção!):
    POSTGRES_PASSWORD=$(openssl rand -base64 24)
    JWT_SECRET=$(openssl rand -base64 32)
    ANON_KEY=$(openssl rand -base64 32)
    SERVICE_ROLE_KEY=$(openssl rand -base64 32)
    
    # Atualize o arquivo .env com os novos segredos gerados
    sed -i "s/POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=${POSTGRES_PASSWORD}/" .env
    sed -i "s/JWT_SECRET=.*/JWT_SECRET=${JWT_SECRET}/" .env
    
    # 4. Inicie todos os serviços em segundo plano:
    docker compose up -d
    

    Dominando o pgvector para Aplicações de IA e RAG

    Uma das vantagens mais expressivas do Supabase Self-Hosted é o acesso irrestrito ao pgvector sem limites artificiais de memória ou taxas por busca semântica.

    Para habilitar o suporte vetorial e criar uma tabela otimizada para embeddings de modelos como text-embedding-3-small (1536 dimensões), execute no SQL Editor do Studio:

    -- 1. Habilita a extensão pgvector
    CREATE EXTENSION IF NOT EXISTS vector;
    
    -- 2. Tabela de documentos de conhecimento para RAG
    CREATE TABLE documentos_ia (
      id BIGSERIAL PRIMARY KEY,
      conteudo TEXT NOT NULL,
      metadata JSONB DEFAULT '{}',
      embedding vector(1536) NOT NULL,
      created_at TIMESTAMPTZ DEFAULT NOW()
    );
    
    -- 3. Cria índice HNSW para busca por similaridade de altíssima velocidade
    CREATE INDEX idx_documentos_ia_embedding 
    ON documentos_ia 
    USING hnsw (embedding vector_cosine_ops)
    WITH (m = 16, ef_construction = 64);
    
    -- 4. Função de busca por proximidade cosseno
    CREATE OR REPLACE FUNCTION buscar_documentos_similares(
      query_embedding vector(1536),
      limite INT DEFAULT 5
    )
    RETURNS TABLE (id BIGINT, conteudo TEXT, similaridade FLOAT)
    LANGUAGE sql STABLE AS $$
      SELECT 
        id, 
        conteudo, 
        1 - (embedding <=> query_embedding) AS similaridade
      FROM documentos_ia
      ORDER BY embedding <=> query_embedding
      LIMIT limite;
    $$;
    

    Estratégia Resiliente de Backup Automatizado para S3

    Em ambientes self-hosted, a responsabilidade pela segurança dos dados é do administrador do sistema. Para garantir que nenhum dado seja perdido, configuramos um script de backup automático executado diariamente às 03:00 da madrugada via cron:

    #!/usr/bin/env bash
    # /opt/scripts/backup_supabase.sh
    set -eo pipefail
    
    DATA=$(date +%Y%m%d_%H%M%S)
    BACKUP_DIR="/var/backups/supabase"
    mkdir -p "$BACKUP_DIR"
    
    echo "Iniciando backup do PostgreSQL Supabase: ${DATA}"
    docker exec -t supabase-db pg_dumpall -U postgres | gzip > "${BACKUP_DIR}/supabase_backup_${DATA}.sql.gz"
    
    # Sincroniza com bucket S3 externo e remove backups locais com mais de 7 dias
    aws s3 cp "${BACKUP_DIR}/supabase_backup_${DATA}.sql.gz" "s3://meu-bucket-backups/supabase/"
    find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -delete
    
    echo "Backup concluído com sucesso!"
    

    Comparativo de Custos em 12 Meses: Cloud vs Self-Hosted You Secure

    A previsibilidade de caixa é vital para a longevidade de qualquer negócio de tecnologia. Veja a comparação acumulada em 1 ano:

    Critério Supabase Cloud (Pro Plan) Supabase Self-Hosted (You Secure)
    Custo Anual de Infraestrutura R$ 2.400 a R$ 6.000+ (US$ 25/mês base + overages + IOF) R$ 1.138,50 total (R$ 49,50 no 1º mês, depois R$ 99/mês)
    Recursos de Hardware 2 vCPU compartilhadas · 1GB RAM no plano base 4 vCPU dedicadas · 4GB RAM · 100GB NVMe
    Latência de Rede em São Paulo 120ms a 160ms (servidores internacionais) 6,6ms direta no PTT/IX.br
    Acesso ao Sistema Operacional Nenhum acesso de terminal (apenas dashboard web) Acesso Root SSH completo via terminal
    Tráfego de Rede (Egress) US$ 0,09 por GB excedente Tráfego ilimitado sem taxas extras

    Migrar para o Supabase Self-Hosted em uma VPS nacional de alta performance não apenas reduz drasticamente o custo fixo mensal da sua empresa, como também proporciona autonomia técnica total sobre sua arquitetura de dados e inteligência artificial. Conheça as opções das Melhores VPS do Brasil e escale seu projeto com máxima segurança.

    Download Gratuito Template Pronto para n8n & Evolution API

    📦 Template n8n: Agente de IA com WhatsApp + Evolution API

    Baixe o arquivo JSON pronto para importar: Webhook configurado, tratamento de remetente, nó de OpenAI e disparo via Evolution API.

    FAQ: perguntas frequentes

    O que está incluso na versão oficial do Supabase Self-Hosted?

    O repositório oficial do Supabase Self-Hosted em Docker inclui praticamente todos os componentes da nuvem gerenciada: Kong API Gateway, GoTrue (sistema de autenticação e JWT), PostgREST (gerador de APIs REST automáticas a partir do schema do Postgres), Realtime Server (WebSockets para sincronização de estado), Storage API (compatível com S3 para upload e manipulação de mídias), Meta e PostgreSQL 16 com extensões essenciais como pgvector.

    Por que uma VPS com apenas 2GB de RAM não aguenta o Supabase Self-Hosted?

    A stack do Supabase executa cerca de 8 a 10 containers simultâneos. Somando o sistema operacional Linux (Ubuntu/Debian com ~500MB), o PostgreSQL 16 (~600MB a 1GB), GoTrue, Kong, PostgREST e Realtime (~800MB combinados), a memória necessária em repouso já atinge cerca de 2,2GB a 2,5GB. Em uma máquina de 2GB, o kernel do Linux dispara o OOM Killer quase que imediatamente, matando containers críticos.

    Como funciona a extensão pgvector no Supabase Self-Hosted para aplicações de IA?

    A imagem oficial do PostgreSQL fornecida pela equipe do Supabase já vem pré-compilada com o pgvector. Basta executar 'CREATE EXTENSION IF NOT EXISTS vector;' para criar colunas do tipo vector(1536) ou vector(3072) e criar índices HNSW ou IVFFlat. Isso permite realizar buscas por similaridade cosseno para RAG e busca semântica diretamente no banco, sem pagar serviços vetoriais dedicados como Pinecone.

    É possível utilizar o MinIO como storage S3 local dentro da mesma VPS?

    Sim. Você pode adicionar um container MinIO ao seu docker-compose.yml ou apontar a Storage API do Supabase para um bucket compatível com S3 externo (como Cloudflare R2 ou AWS S3). O MinIO local roda com alto desempenho nos discos NVMe da VPS, eliminando custos de transferência externa.

    Como atualizar os containers do Supabase Self-Hosted sem perder dados?

    Como todos os dados do banco de dados e arquivos ficam persistidos em volumes Docker mapeados no disco da VPS (ou em diretórios bind mounts), atualizar a stack consiste em: 1) Fazer um backup preventivo com pg_dump; 2) Rodar 'docker compose pull' para baixar as imagens mais recentes; e 3) Executar 'docker compose up -d' para recriar os containers atualizados sem interrupção dos volumes.

    Qual plano de VPS da You Secure é o mais indicado para rodar o Supabase?

    Para desenvolvimento e projetos iniciais com até 5.000 usuários ativos, nosso plano de 4 vCPUs dedicadas, 4GB RAM e 100GB NVMe (a partir de R$ 49,50 no 1º mês com cupom META50) roda a stack com excelente desempenho. Para projetos em escala com geração contínua de embeddings vetoriais ou centenas de conexões simultâneas, recomendamos instâncias de 8GB a 12GB de RAM.

    ← Voltar para o blog