# ═══════════════════════════════════════════════════════════════════════════════ # GLB Animation Studio — docker-compose # For local testing of the HF Spaces Docker image # ═══════════════════════════════════════════════════════════════════════════════ version: "3.9" services: # ── Production (mirrors HF Spaces exactly) ────────────────────────────────── app: build: context: . dockerfile: Dockerfile image: glb-animation-studio:latest container_name: glb-studio ports: - "7860:7860" # Same port as HF Spaces restart: unless-stopped read_only: false tmpfs: - /tmp - /var/cache/nginx - /var/run healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:7860/"] interval: 30s timeout: 10s retries: 3 start_period: 20s # ── Development with hot-reload ───────────────────────────────────────────── dev: image: node:20-alpine container_name: glb-studio-dev working_dir: /app ports: - "5173:5173" volumes: - .:/app - /app/node_modules environment: - NODE_ENV=development - CHOKIDAR_USEPOLLING=true command: sh -c "npm install --legacy-peer-deps && npm run dev -- --host 0.0.0.0" profiles: - dev networks: default: name: glb-studio-net