services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: tutor POSTGRES_USER: tutor POSTGRES_PASSWORD: tutor ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" backend: build: ./backend environment: OPENAI_API_KEY: ${OPENAI_API_KEY} DATABASE_URL: postgresql+psycopg2://tutor:tutor@postgres:5432/tutor REDIS_URL: redis://redis:6379/0 APP_ENV: development FRONTEND_ORIGIN: http://localhost:3000 ports: - "8001:8000" depends_on: - postgres - redis volumes: - ./backend:/app frontend: build: ./frontend environment: VITE_API_BASE_URL: http://localhost:8000 ports: - "3001:3000" depends_on: - backend volumes: - ./frontend:/app - /app/node_modules volumes: postgres_data: