Skip to main content

Environment Variables

The env vars are split into:

  • Docker Compose variables. Only relevant when running Terminus on docker

  • Terminus services configuration variables:

    • The vault persistence layer
    • The vault service
    • The proxy persistence layer
    • The proxy service

When running via docker compose, all variables can be set in the .env file as well as environment variables.


Docker Compose​

VAULT_DB_IMAGE​

See vault.

The PostgreSQL docker image to use.

Default: postgres:14.4

VAULT_DB_VOLUME​

The mapping of the DB volume on the host file system.

Default: ./terminus-volumes/terminus-vault-data

PROXY_DB_IMAGE​

See proxy persistence.

The PostgreSQL docker image to use.

Default: postgres:14.4

PROXY_DB_VOLUME​

The mapping of the DB volume on the host file system.

Default: ./terminus-volumes/terminus-proxy-persistence-data

UI_VERSION​

Terminus' UI version to use.

Defaut: latest

UI_IMAGE​

Terminus' admin UI to be bundled with the proxy for model and policy management.

Default: boxyhq/terminus-ui:${UI_VERSION}

VERSION​

Terminus' image versions for the vault and the proxy services.

Default: latest

VAULT_SERVICE_IMAGE​

The Vault Service docker image to pull when running on docker.

Default: boxyhq/terminus-vault:${VERSION}

VAULT_SERVICE_VOLUME​

The mapping of the Vault service volume on the host file system.

Default: ./terminus-volumes/terminus-vault-conf

VAULT_SERVICE_LOGS_VOLUME​

The mapping of the logs vault service volume on the host file system.

Default: ./terminus-volumes/terminus-vaultservice-logs

PROXY_SERVICE_IMAGE​

The Proxy Service docker image to pull when running on docker.

Default: boxyhq/terminus-proxy:${VERSION}

PROXY_SERVICE_VOLUME​

The mapping of the Proxy service volume on the host file system.

Default: ./terminus-volumes/terminus-proxy-data

PROXY_SERVICE_LOGS_VOLUME​

The mapping of the logs Proxy service volume on the host file system.

Default: ./terminus-volumes/terminus-proxyservice-logs


Vault: Persistence Layer​

Terminus' vault persistence layer (or DB) currently uses GORM with a default configuration using PostgreSQL as a provider.

VAULT_DB_NAME​

The hostname or URL of Terminus' vault DB server. When running on the same docker compose network, it is the name of the container.

Default: terminus_vault_persistence

VAULT_DB_PORT​

The port where Terminus' vault DB server runs. When running in docker is both the internal and external port.

Default: 5432

VAULT_DB_USER​

The username of the DB.

Default: postgres

VAULT_DB_PASSWORD​

The password of the DB.

Default: postgres

VAULT_DB_DBNAME​

The DB name within the server.

Default: postgres


Vault: Service​

⚠️ *NOTE: The vault service requires the following configuration to connect to the persistence layer. If running via docker compose, all will already be set. If running Terminus across different hosts, this needs to be set: VAULT_DB_USER, VAULT_DB_PASSWORD, VAULT_DB_DBNAME, VAULT_DB_NAME, VAULT_DB_PORT

VAULT_SERVICE_NAME​

The name of the docker container if running on docker or the hostname of the vault service.

Default: terminus_vault_service

VAULT_SERVICE_PORT​

The port where Terminus' vault server runs. When running in docker is both the internal and external port.

Default: 3005

VAULT_SERVICE_ENCR_AES​

Whether the vault performs AES based encryption and a B64 encoding on the data sent to it prior to persisting it.

Default: true

VAULT_SERVICE_KEY_AES​

The 32 byte key to perform the vault service encryption.

VAULT_SERVICE_SERVICE_NAME​

The vault service name for Open Telemetry (OTEL).

Default: terminus-vault-service

VAULT_SERVICE_OTEL_LIGHTSTEP_ACCESS_TOKEN​

The vault service Lightstep key for OTEL launcher. Currently being moved to a more generic OTEL provider.

Default: No default.


Proxy: Persistence Layer​

Terminus' proxy persistence layer (or DB) currently uses GORM with a default configuration using PostgreSQL as a provider.

PROXY_DB_NAME​

The hostname or URL of Terminus' proxy DB server. When running on the same docker compose network, it is the name of the container.

Default: terminus_proxy_persistence

PROXY_DB_PORT​

The port where Terminus' vault DB server runs. When running in docker is both the internal and external port.

Default: 5433

PROXY_DB_USER​

The username of the DB.

Default: postgres

PROXY_DB_PASSWORD​

The password of the DB.

Default: postgres

PROXY_DB_DBNAME​

The DB name within the server.

Default: postgres


Proxy: Service​

VAULT_SERVICE_ENDPOINT​

The URL of Terminus' vault service endpoint.

Default: http://${VAULT_SERVICE_NAME}:${VAULT_SERVICE_PORT}

⚠️ *NOTE: The proxy service requires the following configuration to connect to the vault service. If running via docker compose, all will already be set. If running Terminus across different hosts, this needs to be set: VAULT_SERVICE_NAME, VAULT_SERVICE_PORT. Alternatively, hardcode the VAULT_SERVICE_ENDPOINT to the relevant endpoint.

PROXY_SERVICE_NAME​

The name of the docker container if running on docker or the hostname of the proxy service.

Default: terminus_proxy_service

PROXY_SERVICE_PORT​

The port where Terminus' proxy service runs. When running in docker is both the internal and external port.

Default: 3002

PROXY_SERVICE_SERVICE_NAME​

The proxy service name for Open Telemetry (OTEL).

Default: terminus-proxy-service

PROXY_SERVICE_OTEL_LIGHTSTEP_ACCESS_TOKEN​

The proxy service Lightstep key for OTEL launcher. Currently being moved to a more generic OTEL provider.

Default: No default.

PROXY_SERVICE_CONF_DEFAULT_AES_KEK​

By default, this is Terminus' KEK. Terminus encryption proxy is configured with AES. This is the 32 byte key to encrypt the DEKs generated via the relevant API.

⚠️ *NOTE: To be extended

Default: passphrasethatnneedstobe32byzes!