- Eliminada ruta duplicada /sebastian/sumas (código muerto) - Removido topic 'sumas' del engine (reemplazado por 'matematicas') - Creado docker-compose.yml (PostgreSQL + app, 1 comando install) - Dockerfile: copiado prisma CLI al runner stage para db push - APIs debug protegidas: 403 en producción (reset, state, seed) - Audit métodos europeos: 24 archivos corregidos al 100% - Montessori: matemática Francesca + Sebastián - Decroly: lectura, ortografía, historia, geografía, banderas - Borel-Maisonny: lectura inicial Isabella (ya existía) - Freinet: expresión escrita Sebastián (ya existía) - Validación prerequisitos: 0 rotos en contenido nuevo (157 ejercicios) - INSTALL.md: guía completa de instalación - fase4.md: documentación del overhaul - E2E: 2 tests corregidos, 61/61 pasan - TypeScript: exit 0, Build: exit 0
37 lines
858 B
YAML
37 lines
858 B
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: edueasy
|
|
POSTGRES_PASSWORD: edueasy_pass
|
|
POSTGRES_DB: edueasy
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U edueasy -d edueasy"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 10
|
|
|
|
app:
|
|
build: .
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
DATABASE_URL: "postgresql://edueasy:edueasy_pass@db:5432/edueasy?schema=public"
|
|
NEXTAUTH_SECRET: "change-me-in-production"
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
HOSTNAME: 0.0.0.0
|
|
ports:
|
|
- "3000:3000"
|
|
command: sh -c "npx prisma db push --skip-generate && node server.js"
|
|
|
|
volumes:
|
|
pgdata:
|