Deploy docker

This commit is contained in:
David Lopez 2023-10-05 10:47:29 +02:00
parent ccb9e17c6c
commit 0c226cb09d
3 changed files with 1633 additions and 0 deletions

File diff suppressed because it is too large Load Diff

155
authelia/configuration.yml Normal file
View File

@ -0,0 +1,155 @@
# 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: ""
buffers:
read: 4096
write: 4096
enable_pprof: false
enable_expvars: false
disable_healthcheck: false
tls:
key: ""
certificate: ""
log:
level: debug
totp:
issuer: 2FA Verdnatura #tu nombre de dominio. No es el subdominio, sino que es el fulanito.es
algorithm: sha1
digits: 6
period: 30
secret_size: 32
skew: 1
ntp:
address: "time.verdnatura.es:123"
version: 4
max_desync: 3s
disable_startup_check: false
disable_failure: false
# authentication_backend:
# password_reset:
# disable: 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
authentication_backend:
ldap:
implementation: custom
url: ldap://ldap.verdnatura.es:389
timeout: 5s
# start_tls: false
# tls:
# server_name: domain.com
# skip_verify: false
# minimum_version: TLS1.2
base_dn: DC=verdnatura,DC=es
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=authelia,ou=admins,dc=verdnatura,dc=es
password: r}LSW6E~~6mvY#T
access_control:
default_policy: deny #yo elijo doble factor por defecto
networks:
- name: internal
networks:
- 10.0.0.0/16
rules:
## bypass rule
- domain:
- "authelia.verdnatura.es" #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:
- "phpipam.verdnatura.es" #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
- 'vaultwarden.verdnatura.es' #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
- 'salixtest.verdnatura.es' #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: 36000 # 10 hours
inactivity: 300 # 5 minutes
domain: verdnatura.es # tu nombre de dominio. No es el subdominio, sino que es el fulanito.es
redis:
host: authelia-redis
port: 6379
database_index: 0
maximum_active_connections: 100
minimum_idle_connections: 0
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.
storage:
encryption_key: 1234567890abcdefghifjkl
mysql:
host: authelia-db
port: 3306
database: authelia
username: authelia
password: authelia
# notifier:
# disable_startup_check: false
# filesystem:
# filename: /config/notification.txt
notifier:
disable_startup_check: true #true/false
smtp:
username: authelia #tu usuario de correo
password: ZH^$Pc98.$964?P #Creamos una contraseña de aplicacion en goggle, la copiamos y la pegamos aquí
host: smtp.verdnatura.es #email smtp server, este es correcto si usas gmail
port: 465 #email smtp port, es este el que se utiliza si usas gmail
sender: authelia@verdnatura.es #el correo de quien lo envia, poen el mismo que tu usuario
identifier: authelia
subject: "Authelia {title} desde tu ordenador" #email subject

View File

@ -0,0 +1,40 @@
version: '3'
services:
authelia:
container_name: authelia
image: authelia/authelia:4.37.5
ports:
- 9091:9091
volumes:
- ./authelia-conf:/config
restart: unless-stopped
depends_on:
- authelia-redis
- authelia-db
authelia-redis:
container_name: authelia-redis
image: redis:alpine3.18
expose:
- 6379
volumes:
- ./redis:/data/
# environment:
# REDIS_PASSWORD: "authelia"
restart: unless-stopped
authelia-db:
container_name: authelia-db
image: mariadb:11.0.3
expose:
- 3306
volumes:
- ./mariadb:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: "YOUR_MYSQL_ROOT_PASSWORD"
MYSQL_ROOT_USER: root
MYSQL_DATABASE: authelia
MYSQL_USER: authelia
MYSQL_PASSWORD: "authelia"
restart: unless-stopped