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

Example Configuration

This section is intended as an example configuration to help users with a rough contextual layout of this configuration section, it is not intended to explain the options. The configuration shown may not be a valid configuration, and you should see the options section below and the navigation links to properly understand each option individually.

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.

While the minimum length is 20 characters, it’s strongly recommended this is a Random Alphanumeric String with 64 or more characters.

The key is used to perform application level column specific encryption and decryption of data on sensitive values within the database.

See security measures for more information.

postgres

See PostgreSQL.

local

See SQLite.

mysql

See MySQL.