COMPOSE_PROJECT_NAME=mobilityops MOBILITYOPS_ENV=development MOBILITYOPS_DEMO_MODE=true MOBILITYOPS_PUBLIC_URL=http://localhost:1228 MOBILITYOPS_API_URL=http://localhost:8128 DATABASE_URL=postgresql+psycopg://mobilityops:mobilityops@db:5432/mobilityops POSTGRES_DB=mobilityops POSTGRES_USER=mobilityops POSTGRES_PASSWORD=mobilityops APP_SECRET=replace-in-production TZ=Europe/Brussels # Session cookie Secure flag. Keep false for LAN/plain-HTTP deployments (including the # current Unraid review environment); set true only once MobilityOps is served over HTTPS, # otherwise browsers will silently drop the cookie and no one can log in. SESSION_COOKIE_SECURE=false # Optional OpenID Connect login. Public demo role buttons remain available when enabled. OIDC_ENABLED=false OIDC_PROVIDER_NAME=Organisatieaccount OIDC_ISSUER_URL= OIDC_CLIENT_ID= OIDC_CLIENT_SECRET= OIDC_REDIRECT_URI= OIDC_ALLOWED_EMAIL_DOMAINS= OIDC_AUTO_PROVISION=true OIDC_DEFAULT_ROLE=rental_employee # Observability: JSON logs are always enabled. Set a token only if /metrics is exposed # outside the private Compose network; Prometheus can send it as a bearer token. LOG_LEVEL=INFO METRICS_BEARER_TOKEN= GRAFANA_ADMIN_USER=admin GRAFANA_ADMIN_PASSWORD=change-me-before-start # Verified scheduled PostgreSQL backups (Unraid override). BACKUP_INTERVAL_SECONDS=86400 BACKUP_RETENTION_DAYS=30 BACKUP_MINIMUM_COPIES=7 # Set both values to copy every verified backup to an independently mounted path. BACKUP_SECONDARY_DESTINATION= MOBILITYOPS_BACKUP_SECONDARY_DIR=./backups/offsite # Privacy governance defaults. PRIVACY_MINIMUM_BOOKING_RETENTION_DAYS=30 PRIVACY_AUDIT_RETENTION_DAYS=2555 PRIVACY_AUDIT_EXPORT_MAX_ROWS=10000 # Demo presentation (fictional org identity, badge/manifest, reset safety valve). # DEMO_ALLOW_RESET=false permanently disables POST /api/v1/demo/reset (403), independent # of role -- a safety valve for any environment where the dataset must not be rebuildable. DEMO_ORGANIZATION_NAME=Northstar Mobility DEMO_TIMEZONE=Europe/Brussels DEMO_ALLOW_RESET=true # Operational mode: set MOBILITYOPS_DEMO_MODE=false and provide the first manager. # Keep these values in a secret store or an untracked production .env file. INITIAL_ADMIN_EMAIL= INITIAL_ADMIN_PASSWORD= INITIAL_ADMIN_DISPLAY_NAME=Operations Manager # n8n N8N_BASE_URL=http://n8n:5678 N8N_WEBHOOK_URL=http://n8n:5678/webhook/mobilityops-return N8N_ENCRYPTION_KEY=replace-me N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=change-me MOBILITYOPS_CALLBACK_TOKEN=replace-me-n8n-callback-token # Sent as the X-Fleet-Ops-Trigger-Token header when Fleet Ops calls the n8n return- # processing webhook, so the webhook trigger can require Header Auth instead of being # publicly callable by anyone who discovers the URL. Must match the value stored in # n8n's "Fleet Ops Webhook Trigger Token" Header Auth credential. MOBILITYOPS_WEBHOOK_TRIGGER_TOKEN=replace-me-n8n-webhook-trigger-token # RAGcore integration KNOWLEDGE_PROVIDER=demo RAGCORE_BASE_URL=http://ragcore-api:8000 RAGCORE_TENANT=northstar-mobility-demo RAGCORE_WORKSPACE=mobilityops RAGCORE_COLLECTION=internal-procedures RAGCORE_API_TOKEN= # UUID of the RAGcore knowledge space procedures were synced into (see workflow 3). RAGCORE_SPACE_ID= # ITWorx MCP Hub integration. Registration itself is catalog-driven on the Hub's own # side (it reconciles its catalog into the gateway; Fleet Ops never pushes a # registration call) -- MCP_HUB_BASE_URL is only used here for an honest reachability # health check surfaced on the integration status page. MCP_HUB_REGISTRATION_ENABLED=false MCP_HUB_BASE_URL=http://itworx-mcp-hub:8000 MCP_HUB_SERVICE_TOKEN=replace-me-mcp-hub-token MCP_PROVIDER_ID=fleet-ops