Esta página cobre o que muda em cada provedor. O deployment em si é o mesmo em todos os lugares — siga Docker para um nó único ou Kubernetes para um cluster.
Railway
Deployment em um clique, com provisionamento automático de PostgreSQL.
Depois do deployment, defina no painel do Railway:
BETTER_AUTH_SECRET,ENCRYPTION_KEY,INTERNAL_API_SECRET(gerados automaticamente pelo template)- Uma chave de provedor de IA, como
OPENAI_API_KEY - Seu domínio personalizado em Settings → Networking e, em seguida,
NEXT_PUBLIC_APP_URLcom o mesmo valor
O template do Railway faz o deploy dos serviços do app, mas não do serviço cron, então os workflows agendados e os triggers de polling ficam parados. Adicione um serviço de cron no Railway chamando os endpoints descritos em Jobs em background, ou faça o deploy com Docker Compose.
VPS
DigitalOcean, EC2, Azure VM, Hetzner ou qualquer máquina Linux. Dimensione a partir da tabela de requisitos — 16 GB de RAM é o piso prático para uma instalação de time, porque é a memória, e não a CPU, que limita as execuções de workflow simultâneas.
Instale o Docker via get.docker.com e depois siga o guia do Docker, que cobre secrets, a stack do compose e TLS.
Kubernetes gerenciado
EKS, AKS e GKE têm, cada um, um arquivo de values de exemplo já ajustado no chart. Veja Kubernetes para a instalação e Rede para as particularidades de load balancer — em especial o timeout de websocket de 30 segundos do GKE e o requisito de ManagedCertificate.
PostgreSQL gerenciado
Recomendado para qualquer deployment em produção. O requisito é o pgvector.
| Serviço | Observações |
|---|---|
| AWS RDS / Aurora | Ative a extensão vector |
| GCP Cloud SQL | Ative a extensão vector |
| Azure Database for PostgreSQL | Ative a extensão vector |
| Supabase / Neon | pgvector disponível por padrão |
DATABASE_URL="postgresql://user:pass@host:5432/studio?sslmode=require"No chart do Helm, desative o Postgres embutido e use externalDatabase — veja Kubernetes.