services: backend: build: context: ./backend env_file: - ./backend/.env environment: DATABASE_URL: postgresql+psycopg://genexamenes:genexamenes@db:5432/genexamenes # Sobrescribe backend/.env si aún tiene el puerto 3000 del frontend antiguo. ALLOWED_ORIGINS: http://localhost:5173,http://localhost:3000 LLM_BASE_URL: LLM_MODEL: qwen3.5:35b LLM_TIMEOUT_SECONDS: "180" ports: - "8000:8000" depends_on: db: condition: service_healthy volumes: - uploads_data:/app/uploads restart: unless-stopped frontend: build: context: ./frontend args: VITE_API_URL: ${VITE_API_URL:-http://localhost:8000} VITE_GOOGLE_CLIENT_ID: ${VITE_GOOGLE_CLIENT_ID:-} ports: - "5173:80" depends_on: - backend restart: unless-stopped db: image: postgres:16-alpine environment: POSTGRES_DB: genexamenes POSTGRES_USER: genexamenes POSTGRES_PASSWORD: genexamenes ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U genexamenes -d genexamenes"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped volumes: postgres_data: uploads_data: