Skip to main content
This page provides annotated configuration file examples for self-hosted Omni deployments, organized by section so you can assemble the right config for your setup. Omni accepts a YAML configuration file passed via --config-path. Only fields that differ from the defaults need to be specified, fields omitted from the file use their default values. For the full list of available fields, types, and their CLI flag equivalents, see the Omni Configuration reference.

Pass a config file to Omni on startup

Omni reads its configuration from a YAML file at startup. To use one, create the file on your host, mount it into the Omni container, and point Omni to it with --config-path:
The :ro,Z flag mounts the file as read-only inside the container. The :Z suffix ensures compatibility with SELinux if it is enabled on your host. --config-path is repeatable, so you can split your configuration across multiple files if needed:

Configure authentication

Omni supports Auth0, OIDC, and SAML as authentication providers. Only one provider should be enabled at a time. When using OIDC or SAML, set auth0.enabled: false explicitly, since Auth0 is the default provider.

Auth0

Use this when authenticating users through Auth0 as your identity provider.

OIDC

Use this with any OIDC-compliant provider such as Dex, Google, or a custom provider. This is the auth configuration used in the Run Omni On-Prem guide.

SAML

Use this with a SAML 2.0 provider such as Keycloak, Okta, or Oracle Cloud. metadata and url are mutually exclusive: use metadata for a URL served by your IdP, or url for a direct SAML provider URL or local file path.
For role auto-assignment from SAML group attributes, see Auto-assign roles to SAML users.

Configure service endpoints and TLS

Each Omni service needs to know what address to listen on and what URL to advertise to clients. TLS certificate and key files must be valid for the domains used in advertisedURL fields.

Configure storage backends

Omni uses etcd as its primary datastore and SQLite for machine logs, audit logs, and other frequently updated state. Use embedded etcd for a single Omni instance, or point to an external etcd cluster for high availability.

Full working example

The following is a complete, annotated configuration file combining all sections above. It uses Auth0 as the authentication provider. Replace all placeholder values with your actual deployment values before use.

Notes

  • Replace all placeholder values (credentials, domain names, IP addresses, file paths) with your actual deployment values.
  • account.id must be a unique UUID generated once for your installation. Do not change it after initial setup.
  • For S3-based etcd backups, configure S3 credentials via environment variables as described in the Run Omni On-Prem guide.
  • For production deployments, see Options for running Omni and Run Omni on Kubernetes for additional guidance.