version: '3.8' services: orbital-simulator: build: context: . dockerfile: Dockerfile ports: - "3000:3000" environment: - RUST_LOG=info - BIND_ADDRESS=0.0.0.0:3000 volumes: # Optional: Mount config directory for easy config updates - ./config:/app/config:ro # Optional: Mount logs directory - orbital_logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/api/configs || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Optional: Add a reverse proxy for production nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./ssl:/etc/nginx/ssl:ro depends_on: - orbital-simulator restart: unless-stopped profiles: - production volumes: orbital_logs: