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. 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.