Skip to content

Reference: Environment Variables

Configuring Txlog Server is straightforward because I’ve designed it to be entirely environment-driven. Whether you're running it in a Docker container or directly on a Linux host, these variables are the levers you'll use to tune the system to your needs. Let's look at the options available to you.

General Settings

These are the basic knobs that control the server's identity and how it talks to you through logs.

VariableDefaultDescription
INSTANCE-The name of your environment (e.g., "Production"). It’s displayed in the UI, so why not make it clear for your team?
LOG_LEVELINFOHow much detail do you want in the logs? Choose from DEBUG, INFO, WARN, or ERROR.
GIN_MODEreleaseSetting this to release mode isn't just for performance; it also ensures that session cookies are automatically marked as Secure.
PORT8080The HTTP port I'll listen on.

Database Configuration

We use PostgreSQL for everything, and these variables tell the server exactly how to find and talk to your database instance.

VariableRequiredDescription
PGSQL_HOSTYesYour database hostname or IP address.
PGSQL_PORTYesThe database port (usually 5432).
PGSQL_USERYesYour database username.
PGSQL_PASSWORDYesYour database password.
PGSQL_DBYesThe name of the database I should use.
PGSQL_SSLMODEYesSSL mode (disable, require, verify-full). In production, I’d strongly suggest verify-full for maximum security.

Authentication (OIDC)

If you're using a modern identity provider like Google, Okta, or Authentik, OIDC is the way to go.

VariableRequiredDescription
OIDC_ISSUER_URLNoYour OIDC Provider URL (e.g., https://accounts.google.com).
OIDC_CLIENT_IDNoThe Client ID provided by your identity provider.
OIDC_CLIENT_SECRETNoThe Client Secret associated with your ID.
OIDC_REDIRECT_URLNoThe callback URL. Make sure this exactly matches what you’ve configured in your provider’s dashboard!

Authentication (LDAP)

For those of you still relying on a classic directory service, I’ve included robust LDAP support.

VariableRequiredDescription
LDAP_HOSTNoYour LDAP server hostname.
LDAP_PORTNoThe LDAP port (usually 389 or 636).
LDAP_USE_TLSNoSet this to true if you're using LDAPS.
LDAP_BIND_DNNoThe DN for your service account.
LDAP_BIND_PASSWORDNoThe password for that service account.
LDAP_BASE_DNNoWhere should I start searching for users?
LDAP_USER_FILTERNoThe filter I’ll use for logins (e.g., (uid=%s)).
LDAP_ADMIN_GROUPNoThe DN of the group that gets full admin access.
LDAP_VIEWER_GROUPNoThe DN of the group that only gets read-only access.
LDAP_GROUP_FILTER(member=%s)The LDAP filter I'll use to check for group membership.

Scheduler & Data Retention

Txlog Server handles a lot of housekeeping in the background. You can use these variables to control how long we keep your history and exactly when these background jobs run.

VariableDefaultDescription
CRON_RETENTION_DAYS7How many days of execution history should we keep?
CRON_RETENTION_EXPRESSION0 2 * * *When should I run the cleanup job? (Standard CRON expression).
CRON_STATS_EXPRESSION0 * * * *How often should I recalculate the dashboard statistics?
CRON_OSV_EXPRESSION0 4 * * *When should I sync the OSV vulnerability data?