
* tenants -> brands, init new tenant model, migrate some config to tenants Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * setup logging for tenants Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * configure celery and cache Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * small fixes, runs Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * task fixes, creation of tenant now works by cloning a template schema, some other small stuff Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix-tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * upstream fixes Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix-pylint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix avatar tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * migrate config reputation_expiry as well Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix web rebase Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix migrations for template schema Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix migrations for template schema Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix migrations for template schema 3 Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * revert reputation expiry migration Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix type Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix some more tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * website: tenants -> brands Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * try fixing e2e tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * start frontend :help: Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add ability to disable tenants api Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * delete embedded outpost if it is disabled Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * make sure embedded outpost is disabled when tenants are enabled Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * management commands: add --schema option where relevant Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * store files per-tenant Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix embedded outpost deletion Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix files migration Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add tenant api tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add domain tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add settings tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * make --schema-name default to public in mgmt commands Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * sources/ldap: make sure lock is per-tenant Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix stuff I broke Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix remaining failing tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * try fixing e2e tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * much better frontend, but save does not refresh form properly Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * update django-tenants with latest fixes Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * i18n-extract Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * review comments Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * move event_retention from brands to tenants Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * wip Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * root: add support for storing media files in S3 Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * use permissions for settings api Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * blueprints: disable tenants management Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix embedded outpost create/delete logic Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * make gen Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * make sure prometheus metrics are correctly served Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * makefile: don't delete the go api client when not regenerating it Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * tenants api: add recovery group and token creation endpoints Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix startup Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix prometheus metrics Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix web stuff Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix migrations from stable Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix oauth source type import Signed-off-by: Jens Langhammer <jens@goauthentik.io> * Revert "fix oauth source type import" This reverts commitd015fd0244
. * try with setting_changed signal Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * try with connection_created signal Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix scim tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix web after merge Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix enterprise settings Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * Revert "try with connection_created signal" This reverts commit764a999db8
. * Revert "try with setting_changed signal" This reverts commit32b40a3bbb
. * lib/expression: refactor expression compilation Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix django version Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix web after merge Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * relock poetry Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix reconcile Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * try running tenant save in a transaction Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * black Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * test: export postgres logs for debugging and use failfast Signed-off-by: Jens Langhammer <jens@goauthentik.io> * test: fix container name for logs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * do not copy tenant data Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * Revert "try running tenant save in a transaction" This reverts commitda6dec5a61
. * Revert "do not copy tenant data" This reverts commit d07ae9423672f068b0bd8be409ff9b58452a80f2. * Revert "Revert "do not copy tenant data"" This reverts commit4bffb19704
. * fix clone with nodata Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * why not Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * remove failfast Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove postgres query logging Signed-off-by: Jens Langhammer <jens@goauthentik.io> * update reconcile logic to clearly differentiate between tenant and global Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix reconcile app decorator Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * enable django checks Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * actually nodata was unnecessary as we're cloning from template and not from public Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * pylint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * update django-tenants with sequence fix Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * actually update Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix e2e tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add tests for settings api Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * add tests for recovery api Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * recovery tests: do them on a new tenant Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * web: fix system status being degraded when embedded outpost is disabled Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix recovery tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tenants tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint-fix Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint-fix Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * update UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add management command to create a tenant Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add docs Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * release notes Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * more docs Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * checklist Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * self review Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * spelling Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * make web after upgrading Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * remove extra xlif file Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * prettier Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * Revert "add management command to create a tenant" This reverts commit39d13c0447
. * split api into smaller files, only import urls when tenants is enabled Signed-off-by: Jens Langhammer <jens@goauthentik.io> * rewite some things on the release notes Signed-off-by: Jens Langhammer <jens@goauthentik.io> * root: make sure install_id comes from public schema Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * require a license to use tenants Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tenants tests Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix files migration Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * release notes: add warning about user sessions being invalidated Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * remove api disabled test, we can't test for it Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> --------- Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: Jens Langhammer <jens@goauthentik.io>
433 lines
16 KiB
Plaintext
433 lines
16 KiB
Plaintext
---
|
|
title: Configuration
|
|
---
|
|
|
|
This page details all the authentik configuration options that you can set via environment variables.
|
|
|
|
## About authentik configurations
|
|
|
|
:::info
|
|
The double-underscores are intentional, as all these settings are translated to YAML internally, and a double-underscore indicates the next level (a subsetting).
|
|
:::
|
|
|
|
All of these variables can be set to values, but you can also use a URI-like format to load values from other places:
|
|
|
|
- `env://<name>` Loads the value from the environment variable `<name>`. Fallback can be optionally set like `env://<name>?<default>`
|
|
- `file://<name>` Loads the value from the file `<name>`. Fallback can be optionally set like `file://<name>?<default>`
|
|
|
|
## Set your environment variables
|
|
|
|
import Tabs from "@theme/Tabs";
|
|
import TabItem from "@theme/TabItem";
|
|
|
|
<Tabs groupId="platform">
|
|
<TabItem value="docker-compose" label="Docker Compose" default>
|
|
If you are using Docker Compose, edit your <code>.env</code> file to append any keys that you want to add, and then run the following command to apply them:
|
|
|
|
```
|
|
docker-compose up -d
|
|
```
|
|
|
|
</TabItem>
|
|
<TabItem value="kubernetes" label="Kubernetes">
|
|
If you are running in Kubernetes, edit your <code>values.yaml</code> file to append any keys that you want to add, and then run the following commands to apply:
|
|
|
|
```
|
|
helm repo update
|
|
helm upgrade --install authentik authentik/authentik -f values.yaml
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
## Verify your configuration settings
|
|
|
|
To check if your config has been applied correctly, you can run the following command to output the full config:
|
|
|
|
<Tabs groupId="platform">
|
|
<TabItem value="docker-compose" label="Docker Compose" default>
|
|
|
|
```
|
|
docker-compose run --rm worker dump_config
|
|
```
|
|
|
|
</TabItem>
|
|
<TabItem value="kubernetes" label="Kubernetes">
|
|
|
|
```
|
|
kubectl exec -it deployment/authentik-worker -c authentik -- ak dump_config
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
## PostgreSQL Settings
|
|
|
|
- `AUTHENTIK_POSTGRESQL__HOST`: Hostname of your PostgreSQL Server
|
|
- `AUTHENTIK_POSTGRESQL__NAME`: Database name
|
|
- `AUTHENTIK_POSTGRESQL__USER`: Database user
|
|
- `AUTHENTIK_POSTGRESQL__PORT`: Database port, defaults to 5432
|
|
- `AUTHENTIK_POSTGRESQL__PASSWORD`: Database password, defaults to the environment variable `POSTGRES_PASSWORD`
|
|
- `AUTHENTIK_POSTGRESQL__USE_PGBOUNCER`: Adjust configuration to support connection to PgBouncer
|
|
- `AUTHENTIK_POSTGRESQL__USE_PGPOOL`: Adjust configuration to support connection to Pgpool
|
|
- `AUTHENTIK_POSTGRESQL__SSLMODE`: Strictness of ssl verification. Defaults to `verify-ca`
|
|
- `AUTHENTIK_POSTGRESQL__SSLROOTCERT`: CA root for server ssl verification
|
|
- `AUTHENTIK_POSTGRESQL__SSLCERT`: Path to x509 client certificate to authenticate to server
|
|
- `AUTHENTIK_POSTGRESQL__SSLKEY`: Path to private key of `SSLCERT` certificate
|
|
|
|
## Redis Settings
|
|
|
|
- `AUTHENTIK_REDIS__HOST`: Redis server host when not using configuration URL
|
|
- `AUTHENTIK_REDIS__PORT`: Redis server port when not using configuration URL
|
|
- `AUTHENTIK_REDIS__DB`: Redis server database when not using configuration URL
|
|
- `AUTHENTIK_REDIS__USERNAME`: Redis server username when not using configuration URL
|
|
- `AUTHENTIK_REDIS__PASSWORD`: Redis server password when not using configuration URL
|
|
- `AUTHENTIK_REDIS__TLS`: Redis server connection using TLS when not using configuration URL
|
|
- `AUTHENTIK_REDIS__TLS_REQS`: Redis server TLS connection requirements when not using configuration URL
|
|
|
|
## Result Backend Settings
|
|
|
|
- `AUTHENTIK_RESULT_BACKEND__URL`: Result backend configuration URL, uses [the Redis Settings](#redis-settings) by default
|
|
|
|
## Cache Settings
|
|
|
|
- `AUTHENTIK_CACHE__URL`: Cache configuration URL, uses [the Redis Settings](#redis-settings) by default
|
|
- `AUTHENTIK_CACHE__TIMEOUT`: Timeout for cached data until it expires in seconds, defaults to 300
|
|
- `AUTHENTIK_CACHE__TIMEOUT_FLOWS`: Timeout for cached flow plans until they expire in seconds, defaults to 300
|
|
- `AUTHENTIK_CACHE__TIMEOUT_POLICIES`: Timeout for cached policies until they expire in seconds, defaults to 300
|
|
- `AUTHENTIK_CACHE__TIMEOUT_REPUTATION`: Timeout for cached reputation until they expire in seconds, defaults to 300
|
|
|
|
:::info
|
|
`AUTHENTIK_CACHE__TIMEOUT_REPUTATION` only applies to the cache expiry, see [`AUTHENTIK_REPUTATION__EXPIRY`](#authentik_reputation__expiry) to control how long reputation is persisted for.
|
|
:::
|
|
|
|
## Channel Layer Settings (inter-instance communication)
|
|
|
|
- `AUTHENTIK_CHANNEL__URL`: Channel layers configuration URL, uses [the Redis Settings](#redis-settings) by default
|
|
|
|
## Broker Settings
|
|
|
|
- `AUTHENTIK_BROKER__URL`: Broker configuration URL, defaults to Redis using [the respective settings](#redis-settings)
|
|
- `AUTHENTIK_BROKER__TRANSPORT_OPTIONS`: Base64 encoded broker transport options
|
|
|
|
:::info
|
|
`AUTHENTIK_REDIS__CACHE_TIMEOUT_REPUTATION` only applies to the cache expiry, see [`AUTHENTIK_REPUTATION__EXPIRY`](#authentik_reputation__expiry) to control how long reputation is persisted for.
|
|
:::
|
|
|
|
## Listen Settings
|
|
|
|
- `AUTHENTIK_LISTEN__HTTP`: Listening address:port (e.g. `0.0.0.0:9000`) for HTTP (Applies to Server and Proxy outpost)
|
|
- `AUTHENTIK_LISTEN__HTTPS`: Listening address:port (e.g. `0.0.0.0:9443`) for HTTPS (Applies to Server and Proxy outpost)
|
|
- `AUTHENTIK_LISTEN__LDAP`: Listening address:port (e.g. `0.0.0.0:3389`) for LDAP (Applies to LDAP outpost)
|
|
- `AUTHENTIK_LISTEN__LDAPS`: Listening address:port (e.g. `0.0.0.0:6636`) for LDAPS (Applies to LDAP outpost)
|
|
- `AUTHENTIK_LISTEN__METRICS`: Listening address:port (e.g. `0.0.0.0:9300`) for Prometheus metrics (Applies to All)
|
|
- `AUTHENTIK_LISTEN__DEBUG`: Listening address:port (e.g. `0.0.0.0:9900`) for Go Debugging metrics (Applies to All)
|
|
- `AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS`: List of comma-separated CIDRs that proxy headers should be accepted from (Applies to Server)
|
|
|
|
Defaults to `127.0.0.0/8`, `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `fe80::/10`, `::1/128`.
|
|
|
|
Requests directly coming from one an address within a CIDR specified here are able to set proxy headers, such as `X-Forwarded-For`. Requests coming from other addresses will not be able to set these headers.
|
|
|
|
## Media Storage Settings
|
|
|
|
These settings affect where media files are stored. Those files include applications and sources icons. By default, they are stored on disk in the `/media` directory of the authentik container. S3 storage is also supported.
|
|
|
|
- `AUTHENTIK_STORAGE_MEDIA_BACKEND`: Where to store files. Valid values are `file` and `s3`. For `file` storage, files are stored in a `/media` directory in the container. For `s3`, see below.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_REGION`: S3 region where the bucket has been created. May be omitted depending on which S3 provider you use. No default.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_USE__SSL`: Whether to use HTTPS when talking to the S3 storage providers. Defaults to `true`.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_ENDPOINT`: Endpoint to use to talk to the S3 storage provider. Override the previous region and use_ssl settings. Must be a valid URL in the form of `https://s3.provider`. No default.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_SESSION__PROFILE`: Profile to use when using AWS SDK authentication. No default. Supports hot-reloading.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_ACCESS__KEY`: Access key to authenticate to S3. May be omitted if using AWS SDK authentication. Supports hot-reloading.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_SECRET__KEY`: Secret key to authenticate to S3. May be omitted if using AWS SDK authentication. Supports hot-reloading.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_SECURITY__TOKEN`: Security token to authenticate to S3. May be omitted. Supports hot-reloading.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_BUCKET__NAME`: Name of the bucket to use to store files.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_CUSTOM__DOMAIN`: Domain to use to create URLs for users. Mainly useful for non-AWS providers. May include a port. Must include the bucket. Example: `s3.company:8080/authentik-media`.
|
|
- `AUTHENTIK_STORAGE_MEDIA_S3_SECURE__URLS`: Whether URLS created for users use `http` or `https`. Defaults to `true`.
|
|
|
|
## authentik Settings
|
|
|
|
### `AUTHENTIK_SECRET_KEY`
|
|
|
|
Secret key used for cookie signing and unique user IDs, don't change this after the first install.
|
|
|
|
### `AUTHENTIK_LOG_LEVEL`
|
|
|
|
Log level for the server and worker containers. Possible values: debug, info, warning, error
|
|
|
|
Starting with 2021.12.3, you can also set the log level to _trace_. This has no affect on the core authentik server, but shows additional messages for the embedded outpost.
|
|
|
|
:::danger
|
|
Setting the log level to `trace` will include sensitive details in logs, so it shouldn't be used in most cases.
|
|
|
|
Logs generated with `trace` should be treated with care as they can give others access to your instance, and can potentially include things like session cookies to authentik **and other pages**.
|
|
:::
|
|
|
|
Defaults to `info`.
|
|
|
|
### `AUTHENTIK_COOKIE_DOMAIN`
|
|
|
|
Which domain the session cookie should be set to. By default, the cookie is set to the domain authentik is accessed under.
|
|
|
|
### `AUTHENTIK_EVENTS__CONTEXT_PROCESSORS__GEOIP`
|
|
|
|
Path to the GeoIP City database. Defaults to `/geoip/GeoLite2-City.mmdb`. If the file is not found, authentik will skip GeoIP support.
|
|
|
|
### `AUTHENTIK_EVENTS__CONTEXT_PROCESSORS__ASN`
|
|
|
|
Path to the GeoIP ASN database. Defaults to `/geoip/GeoLite2-ASN.mmdb`. If the file is not found, authentik will skip GeoIP support.
|
|
|
|
### `AUTHENTIK_DISABLE_UPDATE_CHECK`
|
|
|
|
Disable the inbuilt update-checker. Defaults to `false`.
|
|
|
|
### `AUTHENTIK_ERROR_REPORTING`
|
|
|
|
- `AUTHENTIK_ERROR_REPORTING__ENABLED`
|
|
|
|
Enable error reporting. Defaults to `false`.
|
|
|
|
Error reports are sent to https://sentry.io, and are used for debugging and general feedback. Anonymous performance data is also sent.
|
|
|
|
- `AUTHENTIK_ERROR_REPORTING__SENTRY_DSN`
|
|
|
|
Sets the DSN for the Sentry API endpoint.
|
|
|
|
When error reporting is enabled, the default Sentry DSN will allow the authentik developers to receive error reports and anonymous performance data, which is used for general feedback about authentik, and in some cases, may be used for debugging purposes.
|
|
|
|
Users can create their own hosted Sentry account (or self-host Sentry) and opt to collect this data themselves.
|
|
|
|
- `AUTHENTIK_ERROR_REPORTING__ENVIRONMENT`
|
|
|
|
The environment tag associated with all data sent to Sentry. Defaults to `customer`.
|
|
|
|
When error reporting has been enabled to aid in debugging issues, this should be set to a unique
|
|
value, such as an e-mail address.
|
|
|
|
- `AUTHENTIK_ERROR_REPORTING__SEND_PII`
|
|
|
|
Whether or not to send personal data, like usernames. Defaults to `false`.
|
|
|
|
### `AUTHENTIK_EMAIL`
|
|
|
|
- `AUTHENTIK_EMAIL__HOST`
|
|
|
|
Default: `localhost`
|
|
|
|
- `AUTHENTIK_EMAIL__PORT`
|
|
|
|
Default: `25`
|
|
|
|
- `AUTHENTIK_EMAIL__USERNAME`
|
|
|
|
Default: `` (Don't add quotation marks)
|
|
|
|
- `AUTHENTIK_EMAIL__PASSWORD`
|
|
|
|
Default: `` (Don't add quotation marks)
|
|
|
|
- `AUTHENTIK_EMAIL__USE_TLS`
|
|
|
|
Default: `false`
|
|
|
|
- `AUTHENTIK_EMAIL__USE_SSL`
|
|
|
|
Default: `false`
|
|
|
|
- `AUTHENTIK_EMAIL__TIMEOUT`
|
|
|
|
Default: `10`
|
|
|
|
- `AUTHENTIK_EMAIL__FROM`
|
|
|
|
Default: `authentik@localhost`
|
|
|
|
Email address authentik will send from, should have a correct @domain
|
|
|
|
To change the sender's display name, use a format like `Name <account@domain>`.
|
|
|
|
### `AUTHENTIK_OUTPOSTS`
|
|
|
|
- `AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE`
|
|
|
|
Placeholders:
|
|
|
|
- `%(type)s`: Outpost type; proxy, ldap, etc
|
|
- `%(version)s`: Current version; 2021.4.1
|
|
- `%(build_hash)s`: Build hash if you're running a beta version
|
|
|
|
Placeholder for outpost docker images. Default: `ghcr.io/goauthentik/%(type)s:%(version)s`.
|
|
|
|
- `AUTHENTIK_OUTPOSTS__DISCOVER`
|
|
|
|
Configure the automatic discovery of integrations. Defaults to `true`.
|
|
|
|
By default, the following is discovered:
|
|
|
|
- Kubernetes in-cluster config
|
|
- Kubeconfig
|
|
- Existence of a docker socket
|
|
|
|
### `AUTHENTIK_AVATARS`
|
|
|
|
Configure how authentik should show avatars for users. Following values can be set:
|
|
|
|
Default: `gravatar,initials`
|
|
|
|
- `none`: Disables per-user avatars and just shows a 1x1 pixel transparent picture
|
|
- `gravatar`: Uses gravatar with the user's email address
|
|
- `initials`: Generated avatars based on the user's name
|
|
- Any URL: If you want to use images hosted on another server, you can set any URL.
|
|
|
|
Additionally, these placeholders can be used:
|
|
|
|
- `%(username)s`: The user's username
|
|
- `%(mail_hash)s`: The email address, md5 hashed
|
|
- `%(upn)s`: The user's UPN, if set (otherwise an empty string)
|
|
|
|
Starting with authentik 2022.8, you can also use an attribute path like `attributes.something.avatar`, which can be used in combination with the file field to allow users to upload custom avatars for themselves.
|
|
|
|
Starting with authentik 2023.2, multiple modes can be set, and authentik will fallback to the next mode when no avatar could be found. For example, setting this to `gravatar,initials` will attempt to get an avatar from Gravatar, and if the user has not configured on there, it will fallback to a generated avatar.
|
|
|
|
### `AUTHENTIK_DEFAULT_USER_CHANGE_NAME`
|
|
|
|
:::info
|
|
Requires authentik 2021.12.5
|
|
:::
|
|
|
|
Enable the ability for users to change their name, defaults to `true`.
|
|
|
|
### `AUTHENTIK_DEFAULT_USER_CHANGE_EMAIL`
|
|
|
|
:::info
|
|
Requires authentik 2021.12.1
|
|
:::
|
|
|
|
Enable the ability for users to change their Email address, defaults to `false`.
|
|
|
|
### `AUTHENTIK_DEFAULT_USER_CHANGE_USERNAME`
|
|
|
|
:::info
|
|
Requires authentik 2021.12.1
|
|
:::
|
|
|
|
Enable the ability for users to change their Usernames, defaults to `false`.
|
|
|
|
### `AUTHENTIK_GDPR_COMPLIANCE`
|
|
|
|
:::info
|
|
Requires authentik 2021.12.1
|
|
:::
|
|
|
|
When enabled, all the events caused by a user will be deleted upon the user's deletion. Defaults to `true`.
|
|
|
|
### `AUTHENTIK_DEFAULT_TOKEN_LENGTH`
|
|
|
|
:::info
|
|
Requires authentik 2022.4.1
|
|
:::
|
|
|
|
Configure the length of generated tokens. Defaults to 60.
|
|
|
|
### `AUTHENTIK_IMPERSONATION`
|
|
|
|
:::info
|
|
Requires authentik 2022.4.2
|
|
:::
|
|
|
|
Globally enable/disable impersonation. Defaults to `true`.
|
|
|
|
### `AUTHENTIK_FOOTER_LINKS`
|
|
|
|
:::info
|
|
Requires authentik 2021.12.1
|
|
:::
|
|
|
|
This option configures the footer links on the flow executor pages.
|
|
|
|
The setting can be used as follows:
|
|
|
|
```
|
|
AUTHENTIK_FOOTER_LINKS='[{"name": "Link Name","href":"https://goauthentik.io"}]'
|
|
```
|
|
|
|
### `AUTHENTIK_LDAP__TASK_TIMEOUT_HOURS`
|
|
|
|
:::info
|
|
Requires authentik 2023.1
|
|
:::
|
|
|
|
Timeout in hours for LDAP synchronization tasks.
|
|
|
|
Defaults to `2`.
|
|
|
|
### `AUTHENTIK_LDAP__PAGE_SIZE`
|
|
|
|
:::info
|
|
Requires authentik 2023.6.1
|
|
:::
|
|
|
|
Page size for LDAP synchronization. Controls the number of objects created in a single task.
|
|
|
|
Defaults to `50`.
|
|
|
|
### `AUTHENTIK_LDAP__TLS__CIPHERS`
|
|
|
|
:::info
|
|
Requires authentik 2022.7
|
|
:::
|
|
|
|
Allows configuration of TLS Cliphers for LDAP connections used by LDAP sources. Setting applies to all sources.
|
|
|
|
Defaults to `null`.
|
|
|
|
### `AUTHENTIK_REPUTATION__EXPIRY`
|
|
|
|
:::info
|
|
Requires authentik 2023.8.2
|
|
:::
|
|
|
|
Configure how long reputation scores should be saved for in seconds. Note that this is different than [`AUTHENTIK_REDIS__CACHE_TIMEOUT_REPUTATION`](#redis-settings), as reputation is saved to the database every 5 minutes.
|
|
|
|
Defaults to `86400`.
|
|
|
|
### `AUTHENTIK_WEB__WORKERS`
|
|
|
|
:::info
|
|
Requires authentik 2022.9
|
|
:::
|
|
|
|
Configure how many gunicorn worker processes should be started (see https://docs.gunicorn.org/en/stable/design.html).
|
|
|
|
If running in Kubernetes, the default value is set to 2 and should in most cases not be changed, as scaling can be done with multiple pods running the web server.
|
|
Otherwise, authentik will use 1 worker for each 4 CPU cores + 1 as a value below 2 workers is not recommended.
|
|
|
|
### `AUTHENTIK_WEB__THREADS`
|
|
|
|
:::info
|
|
Requires authentik 2022.9
|
|
:::
|
|
|
|
Configure how many gunicorn threads a worker processes should have (see https://docs.gunicorn.org/en/stable/design.html).
|
|
|
|
Defaults to 4.
|
|
|
|
### `AUTHENTIK_WORKER__CONCURRENCY`
|
|
|
|
:::info
|
|
Requires authentik 2023.9.0
|
|
:::
|
|
|
|
Configure Celery worker concurrency for authentik worker (see https://docs.celeryq.dev/en/latest/userguide/configuration.html#worker-concurrency). This essentially defines the number of worker processes spawned for a single worker.
|
|
|
|
Defaults to 2.
|
|
|
|
## Custom python settings
|
|
|
|
To modify additional settings further than the options above allow, you can create a custom python file and mount it to `/data/user_settings.py`. This file will be loaded on startup by both the server and the worker. All default settings are [here](https://github.com/goauthentik/authentik/blob/main/authentik/root/settings.py)
|
|
|
|
:::caution
|
|
Using these custom settings is not supported and can prevent your authentik instance from starting. Use with caution.
|
|
:::
|