services: postgres: image: postgis/postgis:16-3.4 environment: POSTGRES_DB: gendesign POSTGRES_USER: gendesign POSTGRES_PASSWORD: gendesign ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "gendesign"] interval: 5s timeout: 5s retries: 10 redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data backend: build: ./backend env_file: ./backend/.env depends_on: postgres: condition: service_healthy redis: condition: service_started ports: - "8000:8000" volumes: - ./backend/app:/app/app command: [ "uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload", ] frontend: build: ./frontend environment: NEXT_PUBLIC_API_BASE_URL: http://localhost:8000 ports: - "3000:3000" depends_on: - backend volumes: postgres_data: redis_data: