Skip to content
Barynt v1.0.12

Configuration

Everything you can tune on your server, in one place: where the settings live, how to change them and what the important ones do.

This page is for the person who runs the server. Everything Barynt needs to know about its surroundings is read from environment variables, and nothing else is hidden in config files.

Where the settings live

  • With the installer, they are in /opt/barynt/.env. The file is readable only by you.
  • With Docker Compose by hand, it is the .env next to your docker-compose.yml.
  • On Kubernetes, they are the chart’s values.yaml.

You do not have to edit the file by hand. barynt config changes values and restarts what has to restart:

Terminal window
barynt config # asks about domain and email
barynt config SMTP_HOST=smtp.example.com UPDATE_CHECK=false

The ones that matter

SettingWhat it does
AUTH_SECRETSigns sessions. Generated by the installer. Keep it secret and do not change it casually: everyone is signed out when it changes.
AUTH_URLThe public address of Barynt, for example https://issues.example.com. Invitation links and sign-in callbacks are built from it.
DOMAINThe domain the bundled web server (Caddy) gets a certificate for.
POSTGRES_PASSWORDThe password of the bundled database. Set once at the first start, it cannot be changed afterwards.
UPDATE_CHECKfalse stops Barynt from asking GitHub whether a newer version exists. It is the only call Barynt makes on its own.

Sign-in

By default people sign in with passkeys. Everything else is added on top:

SettingWhat it does
AUTH_<PROVIDER>_ID, AUTH_<PROVIDER>_SECRETTurns on a company login (GitHub, Google, GitLab, Microsoft, Discord, Keycloak, Okta and many more). See Sign-in and SSO.
AUTH_OIDC_ISSUER, AUTH_OIDC_CLIENT_ID, AUTH_OIDC_CLIENT_SECRET, AUTH_OIDC_NAMEOne generic single sign-on, with your own button label.
AUTH_REGISTRATION_ENABLED=falseInvite-only. Nobody can create a new account by themselves. People with an open invitation still get in.
AUTH_PASSKEY_LOGIN_ENABLED=falseSwitches passkeys off completely. Make sure another sign-in method works first.
AUTH_PASSKEY_REGISTRATION_ENABLED=falseNew accounts cannot be created with a passkey. Existing accounts keep theirs.

Email

Without SMTP_HOST, Barynt sends no email at all. Everything still works: invitation links can be copied and notifications appear in the inbox. See Email.

SettingWhat it does
SMTP_HOST, SMTP_PORT, SMTP_SECURE, SMTP_USER, SMTP_PASSYour mail server.
SMTP_FROMThe sender, for example Barynt <barynt@example.com>.
MAIL_COMPANY_NAME, MAIL_COMPANY_ADDRESSShown in the footer of every email.

Files

Avatars and attachments need S3-compatible storage. The installer brings one along (RustFS). See Object storage.

SettingWhat it does
S3_ENDPOINTWhere the storage is. Empty means uploads are switched off.
S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEYIts credentials.
S3_BUCKET_AVATARS, S3_BUCKET_ISSUESThe two buckets. Avatars and attachments can be switched on independently.
S3_REGIONThe region, us-east-1 unless your provider says otherwise.

Databases and updates

SettingWhat it does
DATABASE_URLThe PostgreSQL connection. With the installer this is set up for you.
REDIS_URLRedis, used to count API requests per key. Optional.
MIGRATE_ON_START=falseDo not update the database layout at startup. Only for setups where a separate job does it.

After a change

Settings are read at startup. barynt config does this for you. Otherwise run barynt restart, or docker compose --profile app up -d.