services: stepview: build: . container_name: stepview restart: unless-stopped ports: - "${PORT:-3000}:3000" volumes: - ./data:/app/data - ./uploads:/app/uploads environment: NODE_ENV: production # node:sqlite requires this flag on Node 22; not needed on Node 24+ # NODE_OPTIONS: --experimental-sqlite PORT: 3000 DATA_DIR: /app/data UPLOADS_DIR: /app/uploads # Change these before deploying ADMIN_USER: ${ADMIN_USER:-admin} ADMIN_PASS: ${ADMIN_PASS:-changeme} SESSION_SECRET: ${SESSION_SECRET:-change-this-secret-in-production} BASE_URL: ${BASE_URL:-http://localhost:3000} MAX_FILE_MB: ${MAX_FILE_MB:-500} # Bootstrap branding (can be changed later in Admin > Settings) BRAND_NAME: ${BRAND_NAME:-StepView} BRAND_ACCENT: ${BRAND_ACCENT:-#3b82f6} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s labels: net.unraid.docker.managed: "true" net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/files.svg"