SOIT Docs
Operations

Configuration

Configure SOIT services, providers, storage, secrets, and runtime options.

SOIT configuration spans application settings, service endpoints, provider credentials, and runtime behavior. Environment-specific values live outside code — the local stack reads them from .env (start from .env.example), and deployments use environment variables.

Common configuration areas

AreaWhat it covers
Hosts and portsAPI (9200) and web (5000) bind addresses in the local stack
DatabasePostgreSQL connection URL — business data, runtime ledger, outbox
RedisBroker/cache URL for queues and runtime coordination
Object storageMinIO or S3-compatible endpoint, bucket, and credentials for documents and artifacts
Vector databaseMilvus endpoint and collection settings
Secret storageVault address and access configuration
BootstrapBOOTSTRAP_ADMIN_EMAIL / BOOTSTRAP_ADMIN_PASSWORD for the first admin account
Model providersConfigured through ModelHub at runtime — credentials stored as secret references, not env vars
PluginsPackage and installation directories (plugins_dir, default ./var/plugins)
WorkersCelery queue and concurrency configuration
Process roleSOIT_ROLE: all (default) or gateway, which serves only the gateway and runs no background work — new in v1.4.0; see Running the gateway on its own
Edition and licensePLATFORM_EDITION and PLATFORM_ENTITLEMENTS without a license; ENTERPRISE_LICENSE_PATH and ENTERPRISE_LICENSE_PUBLIC_KEY_PATH for a signed Enterprise license — new in v1.4.0; see Editions and Licenses
Private networksEGRESS_PRIVATE_NETWORKS: private or loopback networks (CIDR) governed calls may reach, empty by default — new in v1.4.0; see Private networks
TelemetryTELEMETRY_ENABLED (off by default) and TELEMETRY_ENDPOINT — new in v1.4.0; see Telemetry
Approval sweeperAPPROVAL_SWEEPER_ENABLED (on in the shipped compose files) and APPROVAL_SWEEPER_INTERVAL (30 seconds): expires overdue approval requests and closes those of ended runs — new in v1.6.1; see Approvals

Configuration principles

  • Secrets are references. Provider keys and connector credentials belong in Vault, referenced as secret:name. The only plaintext credentials in environment configuration are the bootstrap admin account and infrastructure connection strings.
  • Runtime capability config is data, not env. Which models are active, which plugins are enabled, and what egress is allowed are workspace-level records managed through the product, not deployment configuration. The deployment only decides which private or loopback networks egress may reach at all (EGRESS_PRIVATE_NETWORKS).
  • Settings code has no side effects. The app/settings/ layer parses configuration and feature flags; it makes no external calls.

Hygiene

Do not hard-code local credentials, provider keys, or workspace secrets in docs, source code, tests, or examples. Keep .env files and generated evidence out of commits.

On this page