# 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 ```