Files
octto-engenharia/README-DEPLOY.md

129 lines
2.6 KiB
Markdown

# Occto Engenharia - Guia de Deploy
## Desenvolvimento Local
```bash
# 1. Subir containers (PostgreSQL + MinIO)
docker-compose up -d postgres minio
# 2. Instalar dependências
cd frontend
npm install
# 3. Configurar .env
cp .env.example .env
# 4. Executar migrations do Prisma
npx prisma generate
npx prisma db push
# 5. (Opcional) Popular banco com dados de teste
npx prisma db seed
# 6. Iniciar servidor de desenvolvimento
npm run dev
```
Acesse: http://localhost:3000
## Deploy com Docker (Produção)
```bash
# 1. Build e iniciar todos os containers
docker-compose up -d --build
# 2. Executar migrations no container
docker exec -it occto_frontend npx prisma db push
# 3. Verificar logs
docker-compose logs -f frontend
```
## Comandos Úteis
```bash
# Ver status dos containers
docker-compose ps
# Parar todos os containers
docker-compose down
# Rebuild apenas o frontend
docker-compose up -d --build frontend
# Acessar banco de dados
docker exec -it occto_postgres psql -U admin -d occto_db
# Acessar MinIO Console
http://localhost:9001
# Backup do banco
docker exec occto_postgres pg_dump -U admin occto_db > backup.sql
# Restaurar backup
docker exec -i occto_postgres psql -U admin occto_db < backup.sql
```
## Variáveis de Ambiente (Produção)
Certifique-se de alterar as seguintes variáveis em produção:
- `JWT_SECRET` - Gerar novo secret seguro
- `POSTGRES_PASSWORD` - Senha forte para o banco
- `MINIO_ROOT_PASSWORD` - Senha forte para MinIO
- `MINIO_ENDPOINT` - Domínio do seu servidor
- `MINIO_USE_SSL` - Definir como `true`
## Portas
- 3000 - Frontend Next.js
- 5432 - PostgreSQL
- 9000 - MinIO API
- 9001 - MinIO Console
## Estrutura
```
.
├── docker-compose.yml # Orquestração dos containers
├── frontend/
│ ├── Dockerfile # Build do Next.js
│ ├── .env # Variáveis de ambiente (não commitar)
│ ├── prisma/
│ │ └── schema.prisma # Schema do banco
│ └── src/ # Código fonte
└── README-DEPLOY.md # Este arquivo
```
## Primeiro Acesso
1. Acesse: http://localhost:3000/acesso
2. Login padrão: admin@octto.com.br / admin123
3. Altere a senha imediatamente em /admin/usuarios
## Troubleshooting
**Erro de conexão com banco:**
```bash
# Verificar se PostgreSQL está rodando
docker-compose ps postgres
# Ver logs do PostgreSQL
docker-compose logs postgres
```
**Erro de conexão com MinIO:**
```bash
# Verificar se MinIO está rodando
docker-compose ps minio
# Ver logs do MinIO
docker-compose logs minio
```
**Rebuild completo:**
```bash
docker-compose down -v
docker-compose up -d --build
```