jimeh.adguardhome
Rola Ansible: AdGuard Home
Zainstaluj AdGuard Home, serwer DNS chroniący prywatność i blokujący reklamy, za pomocą Ansible.
Wymagania
- Ansible >= 2.9 (może działać także na wcześniejszych wersjach)
Obsługiwane systemy operacyjne
Testowane na:
- Ubuntu 16.04 i 18.04
- Debian stretch i buster
- Dystrybucje pochodne EL 7 i 8
Prawdopodobnie będzie działać także na innych dystrybucjach pochodnych Debiana i RHEL niż wymienione powyżej.
Zmienne roli
Konfigurowalne zmienne roli są zdefiniowane w defaults/main.yml
:
# Wersja AdGuard Home do zainstalowania (bez prefiksu "v"). Jeśli ustawiona na "latest",
# pobierz najnowsze wydanie za pomocą API GitHub.
adguardhome_version: "latest"
# Gdy pożądana wersja to "latest", użyj zmiennej środowiskowej GITHUB_TOKEN,
# aby sprawdzić najnowsze wydanie za pomocą API GitHub. Jeśli otrzymasz błędy
# ograniczenia dostępu z API GitHub, włącz to i ustaw zmienną środowiskową
# GITHUB_TOKEN na osobisty token dostępu z uprawnieniami "repo" i "user".
adguardhome_use_github_token: false
# Użytkownik do uruchamiania AdGuard Home. Musi być początkowo "root", jeśli nie ma pliku konfiguracyjnego
# na dysku. Po przejściu przez kreator konfiguracji lub ręcznym dodaniu pliku konfiguracyjnego,
# można to ustawić na coś innego, na przykład "adguard".
adguardhome_user: root
adguardhome_group: "{{ adguardhome_user }}"
# Ustawiając adguardhome_user na coś innego niż "root", to decyduje
# czy użytkownik zostanie utworzony jako użytkownik systemowy, czy nie. Zasadą jest to,
# że jeśli użytkownik jest logowany przez ludzi, prawdopodobnie nie jest użytkownikiem systemowym.
adguardhome_system_user: true
# Domyślne ścieżki.
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
# Włączyć i uruchomić jednostkę serwisową systemd?
adguardhome_service_name: "adguardhome"
adguardhome_service_enable: true
adguardhome_service_start: true
# Wyłącz DNSStubResolver, jeśli usługa systemd-resolved jest uruchomiona.
adguardhome_disable_systemd_dnsstubresolver: true
Przykładowy playbook
Poniższy przykład zainstaluje najnowszą dostępną wersję AdGuard Home:
- hosts: all
roles:
- { role: jimeh.adguardhome }
Jeśli wcześniej nie masz pliku konfiguracyjnego, AdGuard Home będzie teraz działać z
kreatorem konfiguracji na porcie 3000
. Po przejściu przez kreatora, interfejs administracyjny powinien być dostępny na portach 80
i 443
.
Użytkownik bez uprawnień root
Możesz uruchomić AdGuard Home jako użytkownik bez uprawnień root, gdy masz plik konfiguracyjny. Bez pliku konfiguracyjnego, program po prostu odmówi uruchomienia, jeśli nie działa jako root
.
Jeśli nie masz jeszcze pliku konfiguracyjnego z innej instalacji AdGuard Home, najlepszym podejściem jest:
- Uruchom rolę z ustawionym
adguardhome_user
naroot
. - Przejdź przez kreator konfiguracji dostępny na porcie
3000
. - Uruchom rolę ponownie, tym razem ustawiając
adguardhome_user
na użytkownika bez uprawnień root. Jeśli wskazany użytkownik nie istnieje, zostanie utworzony.
Osobiście uruchamiam AdGuard Home pod użytkownikiem o nazwie adguard
.
Licencja
Ten projekt jest licencjonowany na podstawie Licencji MIT.
Informacje o autorze
ansible-galaxy install jimeh.adguardhome