260 lines
5.7 KiB
Markdown
260 lines
5.7 KiB
Markdown
# 🔐 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:
|
|
|
|
```env
|
|
# 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:
|
|
|
|
```powershell
|
|
# 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)**
|
|
|
|
```powershell
|
|
# 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:**
|
|
```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**
|
|
|
|
```powershell
|
|
cd packages\backend
|
|
bunx convex dev
|
|
```
|
|
|
|
### **4. Reinicie o servidor Web (em outro terminal)**
|
|
|
|
```powershell
|
|
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:
|
|
|
|
```env
|
|
# 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:**
|
|
|
|
```powershell
|
|
$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:
|
|
|
|
```powershell
|
|
# 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! 🚀**
|
|
|