---
###############################################################
#                   Authelia configuration                    #
###############################################################

identity_validation:
  reset_password:
    jwt_secret: 'a_very_important_secret'

server:
  address: 'tcp://:9091'
  tls:
    certificate: /pki/public.backend.crt
    key: /pki/private.backend.pem

log:
  level: debug

totp:
  issuer: authelia.com
  disable_reuse_security_policy: true

authentication_backend:
  ldap:
    address: 'ldap://openldap'
    base_dn: dc=example,dc=com
    additional_users_dn: ou=users
    users_filter: (&({username_attribute}={input})(objectClass=person))
    additional_groups_dn: ou=groups
    groups_filter: (&(member={dn})(objectClass=groupOfNames))
    user: cn=admin,dc=example,dc=com
    password: password
    attributes:
      distinguished_name: 'distinguishedName'
      username: 'uid'
      display_name: 'displayName'
      mail: 'mail'
      member_of: 'memberOf'
      group_name: 'cn'

access_control:
  default_policy: deny
  rules:
    # Rules applied to everyone
    - domain: ["home.example.com", "public.example.com"]
      policy: bypass
    - domain: "deny.example.com"
      policy: deny
    - domain: "secure.example.com"
      policy: two_factor
    - domain: "singlefactor.example.com"
      policy: one_factor

    # Rules applied to 'admins' group
    - domain: "mx2.mail.example.com"
      subject: "group:admins"
      policy: deny

    # Rules applied to user 'john'
    - domain: "*.example.com"
      subject: "user:john"
      policy: two_factor

    - domain: "*.example.com"
      subject: "group:admins"
      policy: two_factor

    # Rules applied to 'dev' group
    - domain: "dev.example.com"
      resources:
        - "^/groups/dev/.*$"
      subject: "group:dev"
      policy: two_factor

    # Rules applied to user 'harry'
    - domain: "dev.example.com"
      resources:
        - "^/users/harry/.*$"
      subject: "user:harry"
      policy: two_factor

    # Rules applied to user 'bob'
    - domain: "*.mail.example.com"
      subject: "user:bob"
      policy: two_factor
    - domain: "dev.example.com"
      resources:
        - "^/users/bob/.*$"
      subject: "user:bob"
      policy: two_factor

session:
  name: authelia_session
  secret: unsecure_session_secret
  expiration: 3600  # 1 hour
  inactivity: 300  # 5 minutes
  cookies:
    - domain: 'example.com'
      authelia_url: 'https://login.example.com:8080'
  redis:
    username: authelia
    password: redis-user-password
    high_availability:
      sentinel_name: authelia
      sentinel_password: sentinel-server-password
      nodes:
        - host: redis-sentinel-0
          port: 26379
        - host: redis-sentinel-1
          port: 26379
        - host: redis-sentinel-2
          port: 26379

  remember_me: 1y

regulation:
  max_retries: 3
  find_time: 8
  ban_time: 10

storage:
  encryption_key: a_not_so_secure_encryption_key
  mysql:
    address: 'tcp://mariadb:3306'
    database: authelia
    username: admin
    password: password

notifier:
  smtp:
    address: 'smtp://smtp:1025'
    sender: admin@example.com
    disable_require_tls: true
...
