version: '3.8' services: # Backend FastAPI backend: build: context: ./backend dockerfile: Dockerfile container_name: notytex-backend restart: unless-stopped ports: - "8000:8000" environment: - DATABASE_URL=sqlite+aiosqlite:////data/school_management.db - SECRET_KEY=${SECRET_KEY:-change-me-in-production-min-32-chars} - CORS_ORIGINS=["http://localhost","http://localhost:80","http://localhost:3000"] - LOG_LEVEL=INFO volumes: - ./data:/data - ./backend:/app networks: - notytex-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/v2/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Frontend Vue.js + Nginx frontend: build: context: ./frontend dockerfile: Dockerfile container_name: notytex-frontend restart: unless-stopped ports: - "80:80" depends_on: - backend networks: - notytex-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost/"] interval: 30s timeout: 10s retries: 3 networks: notytex-network: driver: bridge volumes: data: driver: local