jimeh.adguardhome

Rôle Ansible : AdGuard Home

Statut du workflow GitHub GitHub Ansible Galaxy Score de qualité Ansible

Installez le serveur DNS AdGuard Home pour la protection de la vie privée et le blocage des publicités avec Ansible.

Exigences

  • Ansible >= 2.9 (peut fonctionner sur des versions précédentes)

Systèmes d'exploitation pris en charge

Testé sur :

  • Ubuntu 16.04 et 18.04
  • Debian stretch et buster
  • Distributions dérivées de EL 7 et 8

Cela fonctionnera probablement sur d'autres distributions dérivées de Debian et RHEL non mentionnées ci-dessus.

Variables du rôle

Les variables configurables du rôle sont toutes définies dans defaults/main.yml :

# Version d'AdGuard Home à installer (sans le préfixe "v"). Si défini sur "latest",
# rechercher la dernière version via l'API GitHub.
adguardhome_version: "latest"

# Lorsque la version désirée est "latest", utilisez la variable d'environnement GITHUB_TOKEN
# lors de la recherche de la dernière version via l'API GitHub. Si vous obtenez des erreurs 
# de limite de taux de l'API GitHub, activez cette option et définissez la variable 
# d'environnement GITHUB_TOKEN sur un jeton d'accès personnel avec les autorisations 
# "repo" et "user".
adguardhome_use_github_token: false

# Utilisateur sous lequel faire tourner AdGuard Home. Doit initialement être "root" 
# si aucun fichier de configuration n'est présent sur le disque. Après avoir 
# passé l'assistant de configuration ou ajouté manuellement un fichier de configuration, 
# cela peut être changé pour autre chose, comme "adguard" par exemple.
adguardhome_user: root
adguardhome_group: "{{ adguardhome_user }}"

# En définissant adguardhome_user sur autre chose que "root", cela détermine 
# si l'utilisateur sera créé en tant qu'utilisateur système ou non. La règle générale 
# est que si l'utilisateur est connecté par des humains, ce n'est probablement pas 
# un utilisateur système.
adguardhome_system_user: true

# Chemins par défaut.
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

# Activer et démarrer l'unité de service systemd ?
adguardhome_service_name: "adguardhome"
adguardhome_service_enable: true
adguardhome_service_start: true

# Désactiver DNSStubResolver si le service systemd-resolved est en cours d'exécution.
adguardhome_disable_systemd_dnsstubresolver: true

Exemple de Playbook

L'exemple suivant installera la dernière version disponible d'AdGuard Home :

- hosts: all
  roles:
    - { role: jimeh.adguardhome }

Si vous n'avez pas déjà un fichier de configuration en place, AdGuard Home sera maintenant en cours d'exécution avec son assistant de configuration sur le port 3000. Une fois que vous avez terminé l'assistant de configuration, l'interface d'administration devrait être accessible sur les ports 80 et 443.

Utilisateur non-root

Vous pouvez exécuter AdGuard Home sous un utilisateur non-root une fois que vous avez un fichier de configuration en place. Sans un fichier de configuration, il refusera simplement de démarrer si ce n'est pas exécuté en tant que root.

Si vous n'avez pas déjà de fichier de configuration d'une autre installation d'AdGuard Home, la meilleure approche est :

  1. Exécutez le rôle avec adguardhome_user défini sur root.
  2. Passez par l'assistant de configuration disponible sur le port 3000.
  3. Exécutez à nouveau le rôle, cette fois en définissant adguardhome_user sur un utilisateur non-root. Si l'utilisateur spécifié n'existe pas, il sera créé.

Personnellement, j'exécute AdGuard Home sous un utilisateur appelé adguard.

Licence

Ce projet est sous licence MIT.

Informations sur l'auteur

Jim Myhrberg

À propos du projet

Install AdGuard Home

Installer
ansible-galaxy install jimeh.adguardhome
Licence
mit
Téléchargements
255
Propriétaire
I'm a software engineering mercenary, who plays with code, video games, and on occasion, design.