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 sensitive configuration files using SOPS.
* default:               List all available tasks.
* encrypt:               Encrypt sensitive configuration files using SOPS.
* export:                Export the task list to `task-list.txt`.
* init:                  Initialize the application's environment and configuration files.
* install:               Install 
* install-service:       Install the application's systemd service.
* restart:               Restart the application's systemd service.
* start:                 Start the application's systemd service.
* stop:                  Stop the application's systemd service.

🔗 References