# yamllint disable rule:comments-indentation
---
###############################################################################
#                           Authelia Configuration                            #
###############################################################################

theme: dark #light/dark Elige el tema que más te guste
jwt_secret: 1234567890abcdefghifjkl #Visita https://www.grc.com/passwords.htm y copia el numero largo de la ventana que se llama 64 random hexadecimal characters (0-9 and A-F):

default_redirection_url: https://google.com/ #Aqui hará una redireccion si no existe ningun dominio en nuestro archivo

server:
  host: 0.0.0.0 #No tocar, hay que dejarlo así
  port: 9091 #Este es el puerto por defecto, no cambiarlo
  path: ""
  read_buffer_size: 4096
  write_buffer_size: 4096
  enable_pprof: false
  enable_expvars: false
  disable_healthcheck: false
  tls:
    key: ""
    certificate: ""

log:
  level: debug

totp:
  issuer: yourdomain.com #tu nombre de dominio. No es el subdominio, sino que es el fulanito.es
  period: 30
  skew: 1

authentication_backend:
  disable_reset_password: false
  refresh_interval: 5m
  file:
    path: /config/users_database.yml #Este es el archivo que hemos creado con los usuarios, se configura en el archivo user_database.yml que tenéis en la carpeta
    password:
      algorithm: argon2id
      iterations: 1
      key_length: 32
      salt_length: 16
      memory: 1024
      parallelism: 8

access_control:
  default_policy: two_factor #yo elijo doble factor por defecto
  rules:
    ## bypass rule
    - domain:
        - "auth.yourdomain.com" #Debe ser tu subdominio creado para authelia
      policy: bypass
    - domain:
        - "sub1.yourdomain.com" #Debes poner el dominio de uno de los proxys inversos si quieres que tenga solo una validación sencilla tipo usuario/contraseña
      policy: one_factor
    - domain:
        - "sub2.yourdomain.com" #Debes poner el dominio de uno de los proxys inversos si quieres que tenga solo una validación de doble factor tipo usuario/contraseña y codigo cambiante cada 30 segundos
      policy: two_factor


      #Cada vez que modifiquemos un dominio, hay que parar y arrancar el contenedor de authelia para que ejecute los cambios.
session:
  name: authelia_session
  secret: unsecure_session_secret #Visita https://www.grc.com/passwords.htm y copia el numero largo de la ventana que se llama 64 random hexadecimal characters (0-9 and A-F):
  expiration: 3600  # 1 hour
  inactivity: 300  # 5 minutes
  domain: yourdomain.com  # tu nombre de dominio. No es el subdominio, sino que es el fulanito.es

regulation:
  max_retries: 3
  find_time: 10m
  ban_time: 12h

#Numero de intentos en un tiempo antes de ser baneado durante la duración que pongamos. En este caso si introduce 3 intentos erróneos en 10 minutos, será baneado 12 horas.
storage:
  local:
    path: /config/db.sqlite3 #Base de datos que se crea con los usuarios, no es necesario complicarse la vida para usar Authelia de forma particular
  encryption_key: you_must_generate_a_random_string_of_more_than_twenty_chars_and_configure_this #borrar el texto y sustituirlo por una cadena de 20 caracteres alternados con letras y números.

notifier:
  disable_startup_check: true #true/false
  smtp:
    username: youremail@gmail.com #tu usuario de correo
    password: Y0uRp@55W0rD! #Creamos una contraseña de aplicacion en goggle, la copiamos y la pegamos aquí
    host: smtp.gmail.com #email smtp server, este es correcto si usas gmail
    port: 587 #email smtp port, es este el que se utiliza si usas gmail
    sender: youremail@gmail.com #el correo de quien lo envia, poen el mismo que tu usuario
    identifier: localhost
    subject: "[Authelia] {title}" #email subject
