About this project

AdGuardHome sync is a tool for keeping multiple AdGuard Home instances configured identically. It copies settings from a designated origin instance to one or more replica instances, helping maintain consistent DNS filtering, rewrites, client settings, and other configuration across devices or locations. The project supports synchronizing general settings, filters (blacklist, whitelist, user rules), DNS rewrites, services, clients, DNS config, DHCP config, and the web UI theme. Individual features can be enabled or disabled globally or per replica. New replica instances can be automatically set up if the autoSetup option is enabled. Configuration is available through environment variables or a YAML file, with support for cron-based scheduling, one-time runs, and running as a daemon. Authentication can use username/password or a cookie for environments where basic authentication is not available, such as some routers with built-in AdGuard Home. The project includes an optional API with metrics support and TLS configuration. Deployment options include standalone binaries, Homebrew, Docker, Docker Compose, systemd services on Linux, Windows batch scripts, and an Easypanel template. The README also documents integration with GL.iNet routers and Home Assistant's AdGuard Home add-on.