version: "3.8" services: opencord: build: . container_name: opencord restart: unless-stopped ports: - "${PORT:-3000}:3000" volumes: - opencord-data:/app/data env_file: - .env environment: - NODE_ENV=production - DB_PATH=/app/data/opencord.db - UPLOAD_DIR=/app/data/uploads healthcheck: test: ["CMD", "node", "-e", "fetch('http://localhost:3000/api/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"] interval: 30s timeout: 5s retries: 3 start_period: 10s volumes: opencord-data: driver: local