adguard_home
Ansible Role: AdguardHome
Description
Deploy and manage AdGuardHome service using ansible.
For full confguration Informations visit AdGuardHome Config.
Reset Web Password
AdGuard Home stores password as a BCrypt-encoded hash.
The role default password ist "admin".
Here's what you need to do to change the password:
- Stop AdGuard Home
- Edit AdGuardHome.yaml
- Find password field there
- Replace it with the new value. You can use htpasswd tool or any online BCrypt generation tool (there are many available online).
- Start AdGuard Home
- Now you'll be able to log in to Web interface using your new password.
Example using htpasswd:
htpasswd -bnBC 10 "" MY_NEW_PASS | tr -d ':'
Configuration in WebUI
:bangbang: | When you finished you Configuration in WebUI, save you config in hosts vars. |
---|
Requirements
- Ansible >= 2.9 (It might work on previous versions, but we cannot guarantee it)
Role Variables
All variables which can be overridden are stored in defaults/main.yml file as well as in table below.
Name | Default Value | Description |
---|---|---|
proxy_env |
{} | Proxy environment variables for Client |
adguard_version |
0.107.0 | AdGuardHome package version. Also accepts latest as parameter. |
adguard_web_listen_address |
0.0.0.0 | Address on which adguard-home will be listening |
adguard_web_listen_port |
3200 | Port on which adguard-home will be listening |
adguard_config_dir |
/etc/adguard | Path to directory with adguard-home configuration |
adguard_db_dir |
/var/lib/adguard | Path to directory with adguard-home database |
adguard_binary_install_dir |
/usr/local/bin | Binary install dir |
adguard_system_user |
"{{ prometheus_user | default('adguard') }}" | Service User |
adguard_system_group |
"{{ prometheus_group | default('adguard') }}" | Serviceuser Group |
adguard_limit_nofile |
8192 | Limit NoFile |
#adguard_http_proxy |
http://proxy:3128 | Set Proxy in System unit as Environment |
#adguard_https_proxy |
http://proxy:3128 | Set Proxy in System unit as Environment |
adguard_config |
{} | AdGuardHome configuration |
Example
---
adguard_config:
bind_host: "{{ adguard_web_listen_address }}"
bind_port: "{{ adguard_web_listen_port }}"
beta_bind_port: 0
users:
- name: admin
# password is: admin
# you can generate one on https://bcrypt-generator.com/
# or with "htpasswd -bnBC 10 "" MY_NEW_PASS | tr -d ':'"
password: $2y$12$SMsrAS0r0FPvpBPDPJygD.GO7V7jeUd2GI2KN.l.rubeV6aKVauEy
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ""
debug_pprof: false
web_session_ttl: 720
dns:
bind_hosts:
- "{{ adguard_web_listen_address }}"
port: 53
statistics_interval: 1
querylog_enabled: true
querylog_file_enabled: true
querylog_interval: 2160h
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 10
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 20
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
all_servers: false
fastest_addr: false
allowed_clients: []
disallowed_clients: []
blocked_hosts:
- version.bind
- id.server
- hostname.bind
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet: false
max_goroutines: 300
ipset: []
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites: []
blocked_services: []
upstream_timeout: 10s
local_domain_name: lan
resolve_clients: true
use_private_ptr_resolvers: true
local_ptr_upstreams: []
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 784
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
strict_sni_check: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: true
url: https://adaway.org/hosts.txt
name: AdAway Default Blocklist
id: 2
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
clients: []
log_compress: false
log_localtime: false
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_file: ""
verbose: false
os:
group: "{{ adguard_system_user }}"
user: "{{ adguard_system_user }}"
rlimit_nofile: "{{ adguard_limit_nofile }}"
schema_version: 12
Playbook
- hosts: all
roles:
- onkeldom.adguard_home
Contributing
License
This project is licensed under MIT License. See LICENSE for more details.
About
Installing and configure ad-blocking DNS-server Adguard Home (https://github.com/AdguardTeam/AdGuardHome).
Install
ansible-galaxy install OnkelDom/ansible-role-adguard-home
License
mit
Downloads
63
Owner