adguardhome
Ansible Роль: AdGuard Home
Установите 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, лучше всего действовать следующим образом:
- Запустить роль с
adguardhome_user
, установленным наroot
. - Пройти через мастер настройки, доступный на порту
3000
. - Снова запустить роль, на этот раз установив
adguardhome_user
на пользователя, не являющегося root. Если указанный пользователь не существует, он будет создан.
Лично я запускаю AdGuard Home под пользователем под названием adguard
.
Лицензия
Этот проект лицензирован под лицензией MIT.
Информация об авторе
ansible-galaxy install jimeh/ansible-adguardhome