Skip to content

Configuration

Opstage CE is configured exclusively through environment variables. There is no config file.

Required

VariablePurpose
OPSTAGE_SESSION_SECRETSigns admin session cookies. Must be a strong random string.
OPSTAGE_ADMIN_USERNAMEBootstrap admin username (used only for the very first admin).
OPSTAGE_ADMIN_PASSWORDBootstrap admin password (used only for the very first admin).

Networking

VariableDefaultNotes
OPSTAGE_PORT8080HTTP listen port
OPSTAGE_HOST0.0.0.0Listen address

Storage

VariableDefaultNotes
OPSTAGE_DATA_DIR/app/dataHolds opstage.db and optional backups

Sessions

VariableDefaultNotes
OPSTAGE_SESSION_TTL_SECONDS28800Session lifetime (8h)

Agent / Service freshness

VariableDefaultNotes
OPSTAGE_AGENT_HEARTBEAT_INTERVAL_SECONDS30Suggested heartbeat cadence (advisory)
OPSTAGE_AGENT_OFFLINE_THRESHOLD_SECONDS90Heartbeat-miss threshold before an agent is marked OFFLINE
OPSTAGE_SERVICE_STALE_THRESHOLD_SECONDS120Service report freshness threshold

Maintenance

VariableDefaultNotes
OPSTAGE_MAINTENANCE_INTERVAL_SECONDS60How often the maintenance sweeper runs
OPSTAGE_AUDIT_RETENTION_DAYS90Audit pruning window

Backups (optional)

VariableDefaultNotes
OPSTAGE_BACKUP_DIR${OPSTAGE_DATA_DIR}/backupsWhere SQLite backup files are written

Tips

  • Keep OPSTAGE_SESSION_SECRET rotation in mind: rotating it invalidates all active admin sessions.
  • For Docker Compose, set bootstrap admin variables via .env and exclude .env from version control.
  • All variables can be set per-deployment; Opstage does not look at any global file.

→ See Docker Deployment for the deployment-side view.

Code and docs released under Apache-2.0. "Xtrape", "Xtrape Capsule", and "Opstage" are trademarks of their respective owners.