authelia/docs/content/configuration/storage/postgres.md

3.5 KiB

title description summary date draft images weight toc aliases seo
PostgreSQL PostgreSQL Configuration The PostgreSQL storage provider. 2022-06-15T17:51:47+10:00 false
107400 true
/docs/configuration/storage/postgres.html
title description canonical noindex
false

Version support

See the PostgreSQL Database Integration reference guide for supported version information.

Variables

Some of the values within this page can automatically be replaced with documentation variables.

{{< sitevar-preferences >}}

Configuration

{{< config-alert-example >}}

storage:
  encryption_key: 'a_very_important_secret'
  postgres:
    address: 'tcp://127.0.0.1:5432'
    database: 'authelia'
    schema: 'public'
    username: 'authelia'
    password: 'mypassword'
    timeout: '5s'
    tls:
      server_name: 'postgres.{{< sitevar name="domain" nojs="example.com" >}}'
      skip_verify: false
      minimum_version: 'TLS1.2'
      maximum_version: 'TLS1.3'
      certificate_chain: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----        
      private_key: |
        -----BEGIN RSA PRIVATE KEY-----
        ...
        -----END RSA PRIVATE KEY-----        

Options

This section describes the individual configuration options.

encryption_key

See the encryption_key docs.

address

{{< confkey type="string" syntax="address" required="yes" >}}

Configures the address for the PostgreSQL Server. The address itself is a connector and the scheme must either be the unix scheme or one of the tcp schemes.

Examples:

storage:
  postgres:
    address: 'tcp://127.0.0.1:5432'
storage:
  postgres:
    address: 'tcp://[fd00:1111:2222:3333::1]:5432'
storage:
  postgres:
    address: 'unix:///var/run/postgres.sock'

database

{{< confkey type="string" required="yes" >}}

The database name on the database server that the assigned user has access to for the purpose of Authelia.

schema

{{< confkey type="string" default="public" required="no" >}}

The database schema name to use on the database server that the assigned user has access to for the purpose of Authelia. By default this is the public schema.

username

{{< confkey type="string" required="yes" >}}

The username paired with the password used to connect to the database.

password

{{< confkey type="string" required="yes" secret="yes" >}}

The password paired with the username used to connect to the database.

It's strongly recommended this is a Random Alphanumeric String with 64 or more characters and the user password is changed to this value.

timeout

{{< confkey type="string,integer" syntax="duration" default="5 seconds" required="no" >}}

The SQL connection timeout.

tls

{{< confkey type="structure" structure="tls" required="no" >}}

If defined enables connecting to PostgreSQL over a TLS socket, and additionally controls the TLS connection validation parameters.