jimeh.adguardhome
Rol de Ansible: AdGuard Home
Instala AdGuard Home, un servidor DNS que protege la privacidad y bloquea anuncios, utilizando Ansible.
Requisitos
- Ansible >= 2.9 (puede funcionar en versiones anteriores)
Sistemas Operativos Soportados
Probado en:
- Ubuntu 16.04 y 18.04
- Debian stretch y buster
- Distribuciones derivadas de EL 7 y 8
Probablemente funcionará en otras distribuciones y versiones derivadas de Debian y RHEL que no están listadas arriba.
Variables de Rol
Las variables configurables del rol están definidas en defaults/main.yml
:
# Versión de AdGuard Home a instalar (sin el prefijo "v"). Si se establece en "latest",
# busca la última versión a través de la API de GitHub.
adguardhome_version: "latest"
# Cuando la versión deseada es "latest", utiliza la variable de entorno GITHUB_TOKEN
# al buscar la última versión a través de la API de GitHub. Si recibes errores de límite
# de tasa de la API de GitHub, actívalo y establece la variable de entorno GITHUB_TOKEN
# en un Token de Acceso Personal con los alcances "repo" y "user".
adguardhome_use_github_token: false
# Usuario bajo el cual se ejecutará AdGuard Home. Debe ser inicialmente "root" si no hay
# un archivo de configuración en el disco. Después de pasar por el asistente de configuración,
# o agregar manualmente un archivo de configuración, esto se puede establecer en algo más,
# como "adguard", por ejemplo.
adguardhome_user: root
adguardhome_group: "{{ adguardhome_user }}"
# Cuando se establece adguardhome_user en algo diferente a "root", esto determina
# si el usuario será creado como un usuario de sistema o no. En general, si el
# usuario es de uso humano, probablemente no sea un usuario de sistema.
adguardhome_system_user: true
# Rutas predeterminadas.
adguardhome_bin_dir: "/opt/{{ adguardhome_service_name }}/bin"
adguardhome_config_dir: "/opt/{{ adguardhome_service_name }}/config"
adguardhome_config_name: AdGuardHome.yml
adguardhome_data_dir: "/opt/{{ adguardhome_service_name }}"
adguardhome_tmp_dir: /tmp
# ¿Habilitar y comenzar la unidad de servicio systemd?
adguardhome_service_name: "adguardhome"
adguardhome_service_enable: true
adguardhome_service_start: true
# Deshabilitar DNSStubResolver si el servicio systemd-resolved está en funcionamiento.
adguardhome_disable_systemd_dnsstubresolver: true
Ejemplo de Playbook
El siguiente ejemplo instalará la última versión disponible de AdGuard Home:
- hosts: all
roles:
- { role: jimeh.adguardhome }
Si no tenías un archivo de configuración en su lugar, AdGuard Home ahora estará funcionando con su asistente de configuración en el puerto 3000
. Una vez que hayas pasado por el asistente de configuración, la interfaz de administración debería ser accesible en los puertos 80
y 443
.
Usuario No Root
Puedes ejecutar AdGuard Home como un usuario no root una vez que tengas un archivo de configuración en su lugar. Sin un archivo de configuración, simplemente se negará a iniciar si no se está ejecutando como root
.
Si no tienes ya un archivo de configuración de una instalación diferente de AdGuard Home, el mejor enfoque es:
- Ejecutar el rol con
adguardhome_user
establecido enroot
. - Pasar por el asistente de configuración disponible en el puerto
3000
. - Ejecutar el rol nuevamente, esta vez estableciendo
adguardhome_user
en un usuario no root. Si el usuario especificado no existe, se creará.
Personalmente, ejecuto AdGuard Home bajo un usuario llamado adguard
.
Licencia
Este proyecto está licenciado bajo la Licencia MIT.
Información del Autor
ansible-galaxy install jimeh.adguardhome