adguardhome

Ansible Роль: AdGuard Home

Статус рабочего процесса на GitHub Лицензия GitHub Ansible Galaxy Оценка качества Ansible

Установите AdGuard Home — сервер DNS для защиты конфиденциальности и блокировки рекламы с помощью Ansible.

Требования

  • Ansible >= 2.9 (может работать на более ранних версиях)

Поддерживаемые операционные системы

Протестировано на:

  • Ubuntu 16.04 и 18.04
  • Debian stretch и buster
  • Производные дистрибутивы EL 7 и 8

Вероятно, будет работать на других дистрибутивах Debian и RHEL, не перечисленных выше.

Переменные роли

Настраиваемые переменные роли определены в defaults/main.yml:

# Версия AdGuard Home для установки (без префикса "v"). Если установить значение "latest",
# будет искать последнюю версию через API GitHub.
adguardhome_version: "latest"

# Если желаемая версия — "latest", используйте переменную окружения GITHUB_TOKEN, 
# когда ищете последнюю версию через API GitHub. Если вы получаете ошибки ограничения
# по количеству запросов от API GitHub, включите это и установите переменную окружения 
# GITHUB_TOKEN на Личный токен доступа с правами "repo" и "user".
adguardhome_use_github_token: false

# Пользователь, под которым будет запускаться AdGuard Home. Должен изначально быть "root",
# если конфигурационный файл отсутствует. После прохождения мастера настройки или
# ручного добавления конфигурационного файла, его можно установить на что-то другое,
# например, "adguard".
adguardhome_user: root
adguardhome_group: "{{ adguardhome_user }}"

# При установке adguardhome_user на что-то, кроме "root", определяется, 
# будет ли пользователь создан как системный или нет. Правило 
# — если пользователь может войти в систему, вероятно, он не является системным.
adguardhome_system_user: true

# Путь по умолчанию.
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

# Включить и запустить системный сервис?
adguardhome_service_name: "adguardhome"
adguardhome_service_enable: true
adguardhome_service_start: true

# Отключить DNSStubResolver, если сервис systemd-resolved запущен.
adguardhome_disable_systemd_dnsstubresolver: true

Пример плейбука

Следующий пример установит последнюю доступную версию AdGuard Home:

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

Если у вас еще нет конфигурационного файла, AdGuard Home будет работать с мастером настройки на порту 3000. После завершения мастера настройки админка должна быть доступна на портах 80 и 443.

Пользователь, не являющийся root

Вы можете запустить AdGuard Home под пользователем, не являющимся root, после того как у вас будет конфигурационный файл. Без конфигурационного файла он просто откажется запускаться, если не выполняется под root.

Если у вас нет конфигурационного файла от другой установки AdGuard Home, лучше всего действовать следующим образом:

  1. Запустить роль с adguardhome_user, установленным на root.
  2. Пройти через мастер настройки, доступный на порту 3000.
  3. Снова запустить роль, на этот раз установив adguardhome_user на пользователя, не являющегося root. Если указанный пользователь не существует, он будет создан.

Лично я запускаю AdGuard Home под пользователем под названием adguard.

Лицензия

Этот проект лицензирован под лицензией MIT.

Информация об авторе

Jim Myhrberg

О проекте

Install AdGuard Home

Установить
ansible-galaxy install jimeh/ansible-adguardhome
Лицензия
mit
Загрузки
217
Владелец
I'm a software engineering mercenary, who plays with code, video games, and on occasion, design.