jimeh.adguardhome
Ansible 角色: AdGuard Home
使用 Ansible 安装 AdGuard Home 隐私保护和广告阻止的 DNS 服务器。
需求
- Ansible >= 2.9(可能在之前的版本上也能工作)
支持的操作系统
经过测试的操作系统:
- Ubuntu 16.04 和 18.04
- Debian stretch 和 buster
- EL 7 和 8 相关发行版
它可能也适用于其他 Debian 和 RHEL 相关的发行版及版本。
角色变量
可配置的角色变量都在 defaults/main.yml
中定义:
# 要安装的 AdGuard Home 版本(没有 "v" 前缀)。如果设置为 "latest",
# 将通过 GitHub API 查找最新的发布版本。
adguardhome_version: "latest"
# 当所需版本为 "latest" 时,在通过 GitHub 的 API 查找最新版本时
# 使用 GITHUB_TOKEN 环境变量。如果从 GitHub 的 API 得到速率限制错误,
# 请开启此选项并将 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
# 启用并启动 systemd 服务单元?
adguardhome_service_name: "adguardhome"
adguardhome_service_enable: true
adguardhome_service_start: true
# 如果 systemd-resolved 服务正在运行,则禁用 DNSStubResolver。
adguardhome_disable_systemd_dnsstubresolver: true
示例剧本
以下示例将安装可用的最新 AdGuard Home 版本:
- hosts: all
roles:
- { role: jimeh.adguardhome }
如果您之前没有配置文件,AdGuard Home 将在 3000
端口上运行安装向导。完成安装向导后,管理界面应该可以在 80
和 443
端口上访问。
非根用户
一旦您有了配置文件,可以以非根用户运行 AdGuard Home。没有配置文件,如果不以 root
运行,它将拒绝启动。
如果您没有来自其他 AdGuard Home 安装的配置文件,最佳方法是:
- 使用
root
设置adguardhome_user
运行角色。 - 通过可用的
3000
端口的安装向导。 - 再次运行角色,这次将
adguardhome_user
设置为非根用户。如果指定的用户不存在,则会创建该用户。
我个人是以名为 adguard
的用户运行 AdGuard Home。
许可
该项目遵循 MIT 许可协议。
作者信息
安装
ansible-galaxy install jimeh.adguardhome
许可证
mit
下载
255
拥有者
I'm a software engineering mercenary, who plays with code, video games, and on occasion, design.