services: app: build: context: . dockerfile: Dockerfile container_name: byrachel-app ports: - "3000:3000" volumes: - ./data:/app/data - ./uploads:/app/public/uploads environment: - DATABASE_URL=/app/data/db.sqlite - JWT_SECRET=${JWT_SECRET:-change-me-to-a-256-bit-secret} - UPLOAD_DIR=/app/public/uploads - STORAGE_ADAPTER=local - NODE_ENV=production - NEXT_TELEMETRY_DISABLED=1 - ENCRYPTION_KEY=${ENCRYPTION_KEY:-change-me-to-a-secure-key} healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped deploy: resources: limits: memory: 512M cpus: '1.0'