jimeh.adguardhome

Rola Ansible: AdGuard Home

Status Workflow GitHub GitHub Ansible Galaxy Wskaźnik Jakości Ansible

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:

  1. Uruchom rolę z ustawionym adguardhome_user na root.
  2. Przejdź przez kreator konfiguracji dostępny na porcie 3000.
  3. 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

Jim Myhrberg

Zainstaluj
ansible-galaxy install jimeh.adguardhome
Licencja
mit
Pobrania
255
Właściciel
I'm a software engineering mercenary, who plays with code, video games, and on occasion, design.