Skip to content

Adguard Home Sync

AdGuard Home Sync is used to sync settings between my AdGuard Home instances.

It is installed only on the primary instance and is scheduled to run once a day, which is scheduled in the config file.

🛠 Installation

Default Port: 8080

Configuration path: /opt/adguardhome-sync

Install or Update

(
  [ -d /opt/adguardhome-sync ] || mkdir -p /opt/adguardhome-sync && \
  cd /opt/adguardhome-sync && \
  curl https://installer.l.nicholaswilde.io/bakito/adguardhome-sync | bash
)

⚙ Config

/etc/systemd/system/adguardhome-sync.service

cat > /etc/systemd/system/adguardhome-sync.service <<EOF
[Unit]
Description = AdGuardHome Sync
After = network.target

[Service]
ExecStart = /opt/adguardhome-sync/adguardhome-sync --config /opt/adguardhome-sync/adguardhome-sync.yaml run

[Install]
WantedBy = multi-user.target
EOF
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/adguardhome-sync/adguardhome-sync.service -O /etc/systemd/system/adguardhome-sync.service
/opt/adguardhome-sync/adguardhome-sync.service
[Unit]
Description = AdGuardHome Sync
After = network.target

[Service]
ExecStart = /opt/adguardhome-sync/adguardhome-sync --config /opt/adguardhome-sync/adguardhome-sync.yaml run

[Install]
WantedBy = multi-user.target

Enable service

(
 cp /opt/adguardhome-sync/adguardhome-sync.service /etc/systemd/system/ && \
 systemctl enable adguardhome-sync.service && \
 systemctl start adguardhome-sync.service && \
 systemctl status adguardhome-sync.service
) 

Make symlinks from /opt/adguardhome-sync to this repo.

Task List

task: Available tasks for this project:
* bootstrap:             Bootstrap 
* decrypt:               Decrypt .env using SOPS
* encrypt:               Encrypt .env using SOPS
* export:                Export the task list
* init:                  Init
* install:               Install 
* install-service:       Install service
* restart:               Restart service
* start:                 Start service
* stop:                  Stop service

🔗 References