###############################################################
#                   Authelia configuration                    #
###############################################################

port: 9091
tls_cert: /config/ssl/cert.pem
tls_key: /config/ssl/key.pem

log_level: debug

jwt_secret: unsecure_secret

totp:
  issuer: authelia.com

authentication_backend:
  ldap:
    url: ldap://openldap
    base_dn: dc=example,dc=com
    username_attribute: uid
    additional_users_dn: ou=users
    users_filter: (&({username_attribute}={input})(objectClass=person))
    additional_groups_dn: ou=groups
    groups_filter: (&(member={dn})(objectclass=groupOfNames))
    group_name_attribute: cn
    mail_attribute: mail
    display_name_attribute: displayName
    user: cn=admin,dc=example,dc=com
    password: password

access_control:
  default_policy: deny

  rules:
    # Rules applied to everyone
    - domain: public.example.com
      policy: bypass
    - 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
  domain: example.com
  redis:
    host: redis
    port: 6379
    password: authelia
  remember_me_duration: 1y

regulation:
  max_retries: 3
  find_time: 8
  ban_time: 10

storage:
  mysql:
    host: mariadb
    port: 3306
    database: authelia
    username: admin
    password: password

notifier:
  smtp:
    host: smtp
    port: 1025
    sender: admin@example.com
    disable_require_tls: true