| version: '3.8' | |
| services: | |
| # Backend API | |
| backend: | |
| build: | |
| context: . | |
| dockerfile: backend/Dockerfile | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| - GROQ_API_KEY=${GROQ_API_KEY} | |
| - PYTHONUNBUFFERED=1 | |
| volumes: | |
| - ./src:/app/src | |
| - ./backend:/app/backend | |
| command: python backend/api/main.py | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8000/api/status"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| # Frontend (Next.js) | |
| frontend: | |
| build: | |
| context: ./frontend | |
| dockerfile: Dockerfile | |
| ports: | |
| - "3000:3000" | |
| environment: | |
| - NEXT_PUBLIC_API_URL=http://localhost:8000 | |
| depends_on: | |
| - backend | |
| volumes: | |
| - ./frontend:/app | |
| - /app/node_modules | |
| - /app/.next |