️ Synchronize AdGuard Home config to replicas
️ Synchronize AdGuard Home config to replicas
Synchronize AdGuardHome config to replica instances.
Please check the wiki for FAQ and Deprecations.
By default, all features are enabled. Single features can be disabled in the config.
New AdGuardHome replica instances can be automatically installed if enabled via the config autoSetup. During automatic installation, the admin interface will be listening on port 3000 in runtime.
To skip automatic setup
Get from releases or install from source
go install github.com/bakito/adguardhome-sync@latest# Add the tap
brew tap bakito/tap
brew trust bakito/tap
# install
brew install --cask adguardhome-syncBoth the origin instance and replica(s) must be initially set up with AdguardHome via the AdguardHome installation wizard.
For Replicas replace # with the index number for the replica. E.g.: REPLICA#_URL -> REPLICA1_URL
| Name | Type | Description |
|---|---|---|
| CRON (string) | string | Cron expression for the sync interval |
| RUN_ON_START (bool) | bool | Run the sync on startup |
| PRINT_CONFIG_ONLY (bool) | bool | Print current config only and stop the application |
| CONTINUE_ON_ERROR (bool) | bool | Continue sync on errors |
| HTTP_CLIENT_TIMEOUT (string) | string | Define a custom http client timeout ^([0-9]+(.[0-9]+)?(ns |
| ORIGIN_URL (string) | string | URL of adguardhome instance |
| ORIGIN_WEB_URL (string) | string | Web URL of adguardhome instance |
| ORIGIN_API_PATH (string) | string | API Path |
| ORIGIN_USERNAME (string) | string | Adguardhome username |
| ORIGIN_PASSWORD (string) | string | Adguardhome password |
| ORIGIN_COOKIE (string) | string | Adguardhome cookie |
| ORIGIN_REQUEST_HEADERS (map) | map | Request Headers 'key1:value1,key2:value2' |
| ORIGIN_INSECURE_SKIP_VERIFY (bool) | bool | Skip TLS verification |
| ORIGIN_AUTO_SETUP (bool) | bool | Automatically setup the instance if it is not initialized |
| ORIGIN_INTERFACE_NAME (string) | string | Network interface name |
| ORIGIN_DHCP_SERVER_ENABLED (bool) | bool | Enable DHCP server |
| REPLICA#_URL (string) | string | URL of adguardhome instance |
| REPLICA#_WEB_URL (string) | string | Web URL of adguardhome instance |
| REPLICA#_API_PATH (string) | string | API Path |
| REPLICA#_USERNAME (string) | string | Adguardhome username |
| REPLICA#_PASSWORD (string) | string | Adguardhome password |
| REPLICA#_COOKIE (string) | string | Adguardhome cookie |
| REPLICA#_REQUEST_HEADERS (map) | map | Request Headers 'key1:value1,key2:value2' |
| REPLICA#_INSECURE_SKIP_VERIFY (bool) | bool | Skip TLS verification |
| REPLICA#_AUTO_SETUP (bool) | bool | Automatically setup the instance if it is not initialized |
| REPLICA#_INTERFACE_NAME (string) | string | Network interface name |
| REPLICA#_DHCP_SERVER_ENABLED (bool) | bool | Enable DHCP server |
| REPLICA#_FEATURES_DNS_ACCESS_LISTS (bool) | bool | Sync DNS access lists |
| REPLICA#_FEATURES_DNS_SERVER_CONFIG (bool) | bool | Sync DNS server config |
| REPLICA#_FEATURES_DNS_REWRITES (bool) | bool | Sync DNS rewrites |
| REPLICA#_FEATURES_DHCP_SERVER_CONFIG (bool) | bool | Sync DHCP server config |
| REPLICA#_FEATURES_DHCP_STATIC_LEASES (bool) | bool | Sync DHCP static leases |
| REPLICA#_FEATURES_GENERAL_SETTINGS (bool) | bool | Sync general settings |
| REPLICA#_FEATURES_PROTECTION_STATUS (bool) | bool | Sync the protection status (disabled if generalSettings is disabled) |
| REPLICA#_FEATURES_QUERY_LOG_CONFIG (bool) | bool | Sync query log config |
| REPLICA#_FEATURES_STATS_CONFIG (bool) | bool | Sync stats config |
| REPLICA#_FEATURES_CLIENT_SETTINGS (bool) | bool | Sync client settings |
| REPLICA#_FEATURES_SERVICES (bool) | bool | Sync services |
| REPLICA#_FEATURES_FILTERS_FEATURES_FILTERS_BLACKLIST (bool) | bool | Sync blacklist filters |
| REPLICA#_FEATURES_FILTERS_FEATURES_FILTERS_WHITELIST (bool) | bool | Sync whitelist filters |
| REPLICA#_FEATURES_FILTERS_FEATURES_FILTERS_USER_RULES (bool) | bool | Sync user rules |
| REPLICA#_FEATURES_THEME (bool) | bool | Sync the web UI theme |
| REPLICA#_FEATURES_TLS_CONFIG (bool) | bool | Sync the TLS config |
| API_PORT (int) | int | API port (API is disabled if port is set to 0) |
| API_USERNAME (string) | string | API username |
| API_PASSWORD (string) | string | API password |
| API_DARK_MODE (bool) | bool | API dark mode |
| API_METRICS_ENABLED (bool) | bool | Enable metrics |
| API_METRICS_SCRAPE_INTERVAL (int64) | int64 | Interval for metrics scraping |
| API_METRICS_QUERY_LOG_LIMIT (int) | int | Metrics log query limit |
| API_TLS_CERT_DIR (string) | string | API TLS certificate directory |
| API_TLS_CERT_NAME (string) | string | API TLS certificate file name |
| API_TLS_KEY_NAME (string) | string | API TLS key file name |
| FEATURES_DNS_ACCESS_LISTS (bool) | bool | Sync DNS access lists |
| FEATURES_DNS_SERVER_CONFIG (bool) | bool | Sync DNS server config |
| FEATURES_DNS_REWRITES (bool) | bool | Sync DNS rewrites |
| FEATURES_DHCP_SERVER_CONFIG (bool) | bool | Sync DHCP server config |
| FEATURES_DHCP_STATIC_LEASES (bool) | bool | Sync DHCP static leases |
| FEATURES_GENERAL_SETTINGS (bool) | bool | Sync general settings |
| FEATURES_PROTECTION_STATUS (bool) | bool | Sync the protection status (disabled if generalSettings is disabled) |
| FEATURES_QUERY_LOG_CONFIG (bool) | bool | Sync query log config |
| FEATURES_STATS_CONFIG (bool) | bool | Sync stats config |
| FEATURES_CLIENT_SETTINGS (bool) | bool | Sync client settings |
| FEATURES_SERVICES (bool) | bool | Sync services |
| FEATURES_FILTERS_BLACKLIST (bool) | bool | Sync blacklist filters |
| FEATURES_FILTERS_WHITELIST (bool) | bool | Sync whitelist filters |
| FEATURES_FILTERS_USER_RULES (bool) | bool | Sync user rules |
No open issues yet, or sync has not completed.