Files
sgse-app/CONFIGURAR_LOCAL.md

5.7 KiB

🔐 CONFIGURAÇÃO LOCAL - SGSE (Convex Local)

IMPORTANTE: Seu sistema roda localmente com Convex Local, não no Convex Cloud!


O QUE VOCÊ PRECISA FAZER

Como você está rodando o Convex localmente, as variáveis de ambiente devem ser configuradas no seu computador, não no dashboard online.


📋 MÉTODO 1: Arquivo .env (Recomendado)

Passo 1: Criar arquivo .env

Crie um arquivo chamado .env na pasta packages/backend/:

Caminho completo:

C:\Users\Deyvison\OneDrive\Desktop\Secretária de Esportes\Tecnologia da Informação\SGSE\sgse-app\packages\backend\.env

Passo 2: Adicionar as variáveis

Abra o arquivo .env e adicione:

# Segurança Better Auth
BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY=

# URL da aplicação
SITE_URL=http://localhost:5173

Passo 3: Salvar e reiniciar

  1. Salve o arquivo .env
  2. Pare o servidor Convex (Ctrl+C no terminal)
  3. Reinicie o Convex: bunx convex dev

📋 MÉTODO 2: PowerShell (Temporário)

Se preferir testar rapidamente sem criar arquivo:

# No terminal PowerShell antes de rodar o Convex
$env:BETTER_AUTH_SECRET = "+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY="
$env:SITE_URL = "http://localhost:5173"

# Agora rode o Convex
cd packages\backend
bunx convex dev

⚠️ Atenção: Este método é temporário - as variáveis somem quando você fechar o terminal!


🚀 PASSO A PASSO COMPLETO

1. Pare os servidores (se estiverem rodando)

# Pressione Ctrl+C nos terminais onde estão rodando:
# - Convex (bunx convex dev)
# - Web (bun run dev)

2. Crie o arquivo .env

Você pode usar o Notepad ou VS Code:

Opção A - Pelo PowerShell:

cd "C:\Users\Deyvison\OneDrive\Desktop\Secretária de Esportes\Tecnologia da Informação\SGSE\sgse-app\packages\backend"

# Criar arquivo .env
@"
# Segurança Better Auth
BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY=

# URL da aplicação
SITE_URL=http://localhost:5173
"@ | Out-File -FilePath .env -Encoding UTF8

Opção B - Manualmente:

  1. Abra o VS Code
  2. Navegue até: packages/backend/
  3. Crie novo arquivo: .env
  4. Cole o conteúdo:
    BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY=
    SITE_URL=http://localhost:5173
    
  5. Salve (Ctrl+S)

3. Reinicie o Convex

cd packages\backend
bunx convex dev

4. Reinicie o servidor Web (em outro terminal)

cd apps\web
bun run dev

5. Verifique se funcionou

No terminal do Convex, você deve ver:

Sucesso:

✔ Convex dev server running
✔ Functions ready!

NÃO deve mais ver:

[ERROR] You are using the default secret
[WARN] Better Auth baseURL is undefined

🎯 PARA PRODUÇÃO (FUTURO)

Quando for colocar em produção no seu servidor:

Se for usar PM2, Systemd ou similar:

Crie um arquivo .env.production com:

# IMPORTANTE: Gere um NOVO secret para produção!
BETTER_AUTH_SECRET=NOVO_SECRET_DE_PRODUCAO_AQUI

# URL real de produção
SITE_URL=https://sgse.pe.gov.br

Gerar novo secret para produção:

$bytes = New-Object byte[] 32
(New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($bytes)
[Convert]::ToBase64String($bytes)

⚠️ NUNCA use o mesmo secret em desenvolvimento e produção!


📁 ESTRUTURA DE ARQUIVOS

Após criar o .env, sua estrutura ficará:

sgse-app/
├── packages/
│   └── backend/
│       ├── convex/
│       │   ├── auth.ts  ✅ (já está preparado)
│       │   └── ...
│       ├── .env  ✅ (você vai criar este!)
│       ├── .env.example  (opcional)
│       └── package.json
└── ...

🔒 SEGURANÇA - .gitignore

Verifique se o .env está no .gitignore para não subir no Git:

# Verificar se .env está ignorado
cd packages\backend
type .gitignore | findstr ".env"

Se NÃO aparecer .env na lista, adicione:

# No arquivo packages/backend/.gitignore
.env
.env.local
.env.*.local

CHECKLIST

  • Parei os servidores (Convex e Web)
  • Criei o arquivo .env em packages/backend/
  • Adicionei BETTER_AUTH_SECRET no .env
  • Adicionei SITE_URL no .env
  • Salvei o arquivo .env
  • Reiniciei o Convex (bunx convex dev)
  • Reiniciei o Web (bun run dev)
  • Verifiquei que os erros pararam
  • Confirmei que .env está no .gitignore

🆘 PROBLEMAS COMUNS

"As variáveis não estão sendo carregadas"

  1. Verifique se o arquivo se chama exatamente .env (com o ponto no início)
  2. Verifique se está na pasta packages/backend/
  3. Certifique-se de ter reiniciado o Convex após criar o arquivo

"Ainda vejo os erros"

  1. Pare o Convex completamente (Ctrl+C)
  2. Aguarde 5 segundos
  3. Inicie novamente: bunx convex dev
  4. Se persistir, verifique se não há erros de sintaxe no .env

"O arquivo .env não aparece no VS Code"

  • Arquivos que começam com . ficam ocultos por padrão
  • No VS Code: Vá em File → Preferences → Settings
  • Procure por "files.exclude"
  • Certifique-se que .env não está na lista de exclusão

📞 RESUMO RÁPIDO

O que fazer AGORA:

  1. Criar arquivo packages/backend/.env
  2. Adicionar as 2 variáveis (secret e URL)
  3. Reiniciar Convex e Web
  4. Verificar que erros sumiram

Tempo: 2 minutos
Dificuldade: Muito Fácil

Quando for para produção:

  • Gerar novo secret específico
  • Atualizar SITE_URL com URL real
  • Configurar variáveis no servidor de produção

Pronto! Esta é a configuração correta para Convex Local! 🚀