Storage

Authelia supports multiple storage backends. The backend is used to store user preferences, 2FA device handles and secrets, authentication logs, etc…

The available storage backends are listed in the table of contents below.

Configuration

configuration.yml
storage:
  encryption_key: 'a_very_important_secret'
  local: {}
  mysql: {}
  postgres: {}

Options

This section describes the individual configuration options.

encryption_key

string required

Important Note: This can also be defined using a secret which is strongly recommended especially for containerized deployments.

The encryption key used to encrypt data in the database. We encrypt data by creating a sha256 checksum of the provided value, and use that to encrypt the data with the AES-GCM 256bit algorithm.

The minimum length of this key is 20 characters.

It’s strongly recommended this is a Random Alphanumeric String with 64 or more characters.

See security measures for more information.

postgres

See PostgreSQL.

local

See SQLite.

mysql

See MySQL.