🚂 Railway Setup Guide - Cidadão.AI Backend¶
✅ Pré-requisitos Concluídos¶
- ✅ LLM Providers configurados (Maritaca AI + Claude)
- ✅ Chaves de segurança geradas
- ✅ Sistema testado localmente
- ✅ Railway CLI instalado (v4.10.0)
🔐 Variáveis de Ambiente Necessárias¶
LLM Providers¶
MARITACA_API_KEY=114276428450504196312_22f92d14b8c6e836
MARITACA_MODEL=sabiazinho-3
LLM_PROVIDER=maritaca
ANTHROPIC_API_KEY=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
ANTHROPIC_MODEL=claude-sonnet-4-20250514
Security Keys (Production)¶
JWT_SECRET_KEY=TOE5pPSfQRNqoQigSZmXS6xwYV4-giADkDClR-584jCUocothaIEsJbAW5vT7F8YbIXP0fcxOSVBtD_GWRT9Pg
SECRET_KEY=CPE3OM2D2Qn2ie4-lI4fqmMCm_-pCIDPduLnfe7mX-4mZowcgaaJ7YDiwF5dHH0HrKYD2YSvqRnCZXj-NRwRIQ
Environment¶
Supabase (já configurado)¶
SUPABASE_URL=https://pbsiyuattnwgohvkkkks.supabase.co
SUPABASE_SERVICE_ROLE_KEY=[sua-chave-service-role]
APIs Governamentais (já configurado)¶
🚀 Método 1: Via Railway CLI (Recomendado)¶
1. Login¶
2. Vincular ao Projeto¶
# Liste seus projetos
railway list
# Vincule ao projeto (substitua pelo nome do seu projeto)
railway link
3. Configurar Variáveis Automaticamente¶
4. Verificar Deploy¶
# Ver logs em tempo real
railway logs
# Abrir projeto no browser
railway open
# Verificar status
railway status
🌐 Método 2: Via Dashboard Web¶
1. Acesse o Dashboard¶
2. Selecione seu Projeto¶
Clique no projeto do backend
3. Acesse Variables¶
Clique na aba Variables no menu lateral
4. Adicione as Variáveis¶
Cole todas as variáveis listadas acima, uma por vez:
- Clique em + New Variable
- Cole o nome (ex: MARITACA_API_KEY)
- Cole o valor
- Clique em Add
5. Deploy Automático¶
O Railway fará redeploy automático após adicionar as variáveis
✅ Validação Pós-Deploy¶
1. Teste a URL Pública¶
# Substitua pela sua URL do Railway
export RAILWAY_URL="https://seu-projeto.up.railway.app"
# Teste endpoint raiz
curl $RAILWAY_URL/
# Teste health
curl $RAILWAY_URL/health/
# Teste info da API
curl $RAILWAY_URL/api/v1/info
2. Verifique os Logs¶
Procure por:
- ✅ maritaca_client_initialized
- ✅ Cidadão.AI API started
- ✅ Application startup complete
- ❌ Erros de autenticação ou variáveis faltando
3. Teste os LLM Providers¶
Você pode testar via Postman ou curl:
# Teste um endpoint que use o Maritaca
curl -X POST $RAILWAY_URL/api/v1/chat \
-H "Content-Type: application/json" \
-d '{"message": "Olá, teste do Maritaca AI"}'
🔍 Troubleshooting¶
Erro: "JWT_SECRET_KEY environment variable is required"¶
- Verifique se as variáveis foram salvas corretamente
- Aguarde o redeploy completar (1-2 minutos)
- Verifique os logs:
railway logs
Erro: "Maritaca API key not configured"¶
- Confirme que
MARITACA_API_KEYestá configurado - Verifique se não há espaços extras no valor
- Teste:
railway variables get MARITACA_API_KEY
Erro: "Circuit breaker is open"¶
- O sistema detectou falhas repetidas
- Verifique se as APIs externas estão acessíveis
- Aguarde 60 segundos para o circuit breaker resetar
Deploy Não Completa¶
📊 Monitoramento¶
Logs em Tempo Real¶
Métricas¶
Acesse o dashboard do Railway para ver: - CPU usage - Memory usage - Request count - Response times
Alertas¶
Configure alertas no Railway para: - Erros 5xx - Alto uso de memória - Deploy failures
🎯 Próximos Passos¶
- ✅ Configurar todas as variáveis de ambiente
- ✅ Verificar deploy bem-sucedido
- ✅ Testar endpoints principais
- 🔄 Configurar domínio customizado (opcional)
- 🔄 Configurar backup automático do PostgreSQL
- 🔄 Integrar com frontend
📚 Recursos¶
- Railway Docs: https://docs.railway.app/
- Railway CLI: https://docs.railway.app/develop/cli
- Suporte: https://railway.app/help
Última atualização: 2025-10-16 Status: ✅ Configuração completa local, pronto para deploy Railway