did the following:
Downloaded the version i wanted : AdGuard Home v0.107.57
Removed the contents of: /mnt/dietpi_userdata/adguardhome (left only the data there)
Extracted downloaded tar in : /mnt/dietpi_userdata/adguardhome
Stopped the service that was already running AdGuardHome.service in: /etc/systemd/system/AdGuardHome.service
Installed the new version with:
sudo ./AdGuardHome -s install
2025/06/11 17:57:44 [info] AdGuard Home, version v0.107.57
2025/06/11 17:57:44 [info] service: control action: install
2025/06/11 17:57:48 [info] service: started
2025/06/11 17:57:48 [info] service: action install has been done successfully on linux-systemd
And Its still running the newer version:
You would need to stop service first, replace the AGH executable only, not the whole folder content and restart AGH. There is nothing to install. Just to replace one file. I guess you created a 2nd instance of AGH now
Donβt forget to close the browser and delete cache to avoid any leftovers from before
Can you check running processes
ss -alnp | grep LISTEN
ss -alnp | grep LISTEN
u_str LISTEN 0 0 /run/systemd/journal/io.systemd.journal 1102 * 0
u_str LISTEN 0 0 /run/systemd/private 12529 * 0
u_str LISTEN 0 0 /run/systemd/userdb/io.systemd.DynamicUser 12531 * 0
u_str LISTEN 0 0 /run/systemd/io.system.ManagedOOM 12532 * 0
u_str LISTEN 0 0 /run/systemd/fsck.progress 12543 * 0
u_str LISTEN 0 0 /run/systemd/journal/stdout 12552 * 0
u_str LISTEN 0 0 /run/docker.sock 12749 * 0
u_str LISTEN 0 0 /run/containerd/containerd.sock.ttrpc 12867 * 0
u_str LISTEN 0 0 /run/containerd/containerd.sock 12870 * 0
u_str LISTEN 0 0 /var/run/docker/metrics.sock 1426564095 * 0
u_str LISTEN 0 0 /run/containerd/s/9c5d28d2b908760ff8d92b9bd66a8254f1017530dab798343ce598caa99d3b32 1426564518 * 0
u_str LISTEN 0 0 /run/containerd/s/a0d811c6cfb9f2282de6f83ff6c34427073c976ab96e1b4902c5e279d6f1b9ff 1426564547 * 0
u_str LISTEN 0 0 /run/containerd/s/c9fa725588cd36cf0477de7cb0ccecaf0367cf40aae1094df5cdd2ecc24d17ad 1426564664 * 0
u_str LISTEN 0 0 /run/containerd/s/7e1328824083e2fb83fa589b01f681b8d91729919f9a94eee85d728b91a15930 1426568580 * 0
u_str LISTEN 0 0 /run/containerd/s/34b104a435cebad651c449875480c0efb9b741b1325a8f70066b80868c3d9244 1426569440 * 0
u_str LISTEN 0 0 /run/containerd/s/b727d8781b6fc7fc53c7d823ebf9038c704b0f0f5cc21039056efe90c4b41462 1426569453 * 0
u_str LISTEN 0 0 /var/run/docker/libnetwork/3649c443058c.sock 1426570270 * 0
u_str LISTEN 0 0 /run/containerd/s/2109ec8f7135ee3a557e41cf75cfae56fb4b24306287c2c6180c0aad1a38b5e0 1426570536 * 0
u_str LISTEN 0 0 s 1426572483 * 0
u_seq LISTEN 0 0 /run/udev/control 12554 * 0
tcp LISTEN 0 4096 0.0.0.0:443 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:2283 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:81 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:80 0.0.0.0:*
tcp LISTEN 0 32 0.0.0.0:21 0.0.0.0:*
tcp LISTEN 0 1000 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 1024 0.0.0.0:8001 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:9002 0.0.0.0:*
tcp LISTEN 0 1000 [::]:22 [::]:*
tcp LISTEN 0 4096 *:53 *:*
tcp LISTEN 0 4096 *:8083 *:*
tcp LISTEN 0 4096 *:8086 *:*
tcp LISTEN 0 4096 *:3001 *:*
letβs try to clean up the installation
dietpi-backup
cd /mnt/dietpi_userdata/adguardhome
AdGuardHome -s uninstall
dietpi-software reinstall 126
This should get us back to the initial status. Afterwards we can try to downgrade AGH
Did the backup
The command had to change a little bit for uninstall, this is the one who worked for me:
sudo ./AdGuardHome -s uninstall
2025/06/12 18:57:58 [info] AdGuard Home, version v0.107.57
2025/06/12 18:57:58 [info] service: control action: uninstall
2025/06/12 18:58:06 [info] service: action uninstall has been done successfully on linux-systemd
After running the command I still see file inside the folder:
ls
AdGuardHome AdGuardHome.sig AdGuardHome.yaml CHANGELOG.md LICENSE.txt README.md agh-backup data
Reinstalled again
sudo dietpi-software reinstall 126
[ OK ] DietPi-Software | Initialised database
[ OK ] DietPi-Software | Reading database
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Mode: Automated reinstall
[ OK ] DietPi-Software | Reinstalling AdGuard Home: powerful network-wide ads & trackers blocking DNS server
[ SUB1 ] DietPi-Backup > Backup
[ SUB2 ] DietPi-Services > stop
[ OK ] DietPi-Services | stop : cron
[ OK ] DietPi-Services | stop : docker
[ OK ] DietPi-Services | stop : grafana-server
[ OK ] DietPi-Services | stop : influxdb
[ OK ] DietPi-Services | stop : vaultwarden
[ OK ] DietPi-Services | stop : vsftpd
[ INFO ] DietPi-Backup | Checking for required APT packages: rsync
[ INFO ] DietPi-Backup | Backup to /mnt/usb-disk/dietpi-backup in progress, please wait...
[ OK ] DietPi-Backup | cp -a /etc/debian_version /mnt/usb-disk/dietpi-backup/data/etc/debian_version
[ OK ] DietPi-Backup | touch /mnt/usb-disk/dietpi-backup/data
[ SUB2 ] DietPi-Services > start
[ OK ] DietPi-Services | start : vsftpd
[ OK ] DietPi-Services | start : vaultwarden
[ OK ] DietPi-Services | start : influxdb
[ OK ] DietPi-Services | start : grafana-server
[ OK ] DietPi-Services | start : docker
[ OK ] DietPi-Services | start : cron
[ OK ] DietPi-Backup: Backup | Completed
[ OK ] DietPi-Backup | Completed
[ OK ] DietPi-Software | DietPi-Userdata validation: /mnt/dietpi_userdata
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step: Checking for conflicts and missing inputs
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step: Checking for prerequisite software
[ OK ] DietPi-Software | mkdir -p /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads /var/www /opt /usr/local/bin
[ OK ] DietPi-Software | chown dietpi:dietpi /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads
[ OK ] DietPi-Software | chmod 0775 /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads
[ SUB1 ] DietPi-Services > stop
[ OK ] DietPi-Services | stop : cron
[ OK ] DietPi-Services | stop : docker
[ OK ] DietPi-Services | stop : grafana-server
[ OK ] DietPi-Services | stop : influxdb
[ OK ] DietPi-Services | stop : vaultwarden
[ OK ] DietPi-Services | stop : vsftpd
[ INFO ] DietPi-Software | APT update, please wait...
Hit:1 https://repos.influxdata.com/debian buster InRelease
Hit:2 https://deb.debian.org/debian bookworm InRelease
Get:3 https://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 https://apt.grafana.com stable InRelease [7661 B]
Get:5 https://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Hit:6 https://download.docker.com/linux/debian bookworm InRelease
Get:7 https://deb.debian.org/debian bookworm-backports InRelease [59.4 kB]
Hit:8 https://dietpi.com/apt bookworm InRelease
Get:9 https://dietpi.com/apt all InRelease [27.5 kB]
Get:10 https://archive.raspberrypi.com/debian bookworm InRelease [55.0 kB]
Get:11 https://deb.debian.org/debian-security bookworm-security/main arm64 Packages [262 kB]
Get:12 https://deb.debian.org/debian bookworm-backports/main arm64 Packages.diff/Index [63.3 kB]
Get:13 https://deb.debian.org/debian bookworm-backports/main arm64 Packages T-2025-06-12-0204.25-F-2025-06-07-2004.41.pdiff [5930 B]
Get:13 https://deb.debian.org/debian bookworm-backports/main arm64 Packages T-2025-06-12-0204.25-F-2025-06-07-2004.41.pdiff [5930 B]
Get:14 https://apt.grafana.com stable/main arm64 Packages [363 kB]
Get:15 https://archive.raspberrypi.com/debian bookworm/main arm64 Packages [538 kB]
Fetched 1485 kB in 9s (161 kB/s)
Reading package lists...
[ OK ] DietPi-Software | APT update
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step: Installing AdGuard Home: powerful network-wide ads & trackers blocking DNS server
[ INFO ] DietPi-Software | AdGuard Home executable "/mnt/dietpi_userdata/adguardhome/AdGuardHome" already exists. Download and install steps will be skipped.
- If you want to update AdGuard Home, please use the internal updater from web UI.
- If you need to reinstall (e.g. broken instance), please manually remove the executable "/mnt/dietpi_userdata/adguardhome/AdGuardHome" and rerun "dietpi-software (re)install 126".
[ INFO ] DietPi-Software | APT install apache2-utils, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
apache2-utils is already the newest version (2.4.62-1~deb12u2).
0 upgraded, 0 newly installed, 0 to remove and 65 not upgraded.
[ OK ] DietPi-Software | APT install apache2-utils
[ OK ] DietPi-Software | usermod -d /mnt/dietpi_userdata/adguardhome -s /usr/sbin/nologin adguardhome
[ OK ] DietPi-Software | chown -R adguardhome:adguardhome /mnt/dietpi_userdata/adguardhome
[ OK ] DietPi-Software | chmod 0755 /mnt/dietpi_userdata/adguardhome/AdGuardHome
[ OK ] DietPi-Software | chmod 0600 /mnt/dietpi_userdata/adguardhome/AdGuardHome.yaml
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step: Finalising install
[ INFO ] DietPi-Software | Enabling installed services
[ OK ] DietPi-Software | systemctl --no-reload enable adguardhome
[ OK ] DietPi-Software | systemctl daemon-reload
2025-06-12 19:04:52 [ INFO ] DietPi-RAMlog | Storing /var/log to /var/tmp/dietpi/logs/dietpi-ramlog_store...
2025-06-12 19:04:52 [ OK ] DietPi-RAMlog | Stored /var/log to /var/tmp/dietpi/logs/dietpi-ramlog_store.
DietPi-Software
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step: Install completed
[ OK ] DietPi-Survey | Purging survey data
[ SUB1 ] DietPi-Services > restart
[ OK ] DietPi-Services | restart : vsftpd
[ OK ] DietPi-Services | restart : vaultwarden
[ OK ] DietPi-Services | restart : influxdb
[ OK ] DietPi-Services | restart : grafana-server
[ OK ] DietPi-Services | restart : docker
[ OK ] DietPi-Services | restart : cron
[ INFO ] DietPi-Software | Starting installed services not controlled by DietPi-Services
[ OK ] DietPi-Software | systemctl start adguardhome
Done.
After all that I still see older version:
sudo ./AdGuardHome --version
AdGuard Home, version v0.107.57
In the WebUI it still shows newer version:
did you already clear your browser cache?
I tried in different browsers that i never opened it. Did the same steps again to be sure and now i got the correct version..
does the old version is behaving differently?
Im giving it a try for a few hours to seeβ¦
So far so good⦠nothing seems to be broken⦠Maybe I could try using unbound again?
Installed Unbound again and everything seems to be back to normal⦠AGH v0.167.62 seems to be broken with hiccups and a lot of disconnections⦠so far version v0.107.57 is the last one I found more stable for me.
You could report the problem to AGH developers
Now after a few days it has come back in older version tooβ¦ I noticed that if I restart the raspberry or stop the services after an upgrade it works as it should and with time it starts to slow down or responding to DNS query or something thatβs what Iβm suspectingβ¦ Anything that can come to mind of whats happening?
as said, maybe you can ask AGH developer for assistance and how to debug this further
The executable is in /opt/adguardhome
. Only config and data is in /mnt/dietpi_userdata/adguardhome
.
Generally, such can be checked with:
systemctl cat adguardhome
ExecStart=
shows the executed file.
How could I have overlooked that, mea culpa!
Mine says /mnt/dietpi_userdata/adguardhome
sudo systemctl cat adguardhome
# /etc/systemd/system/adguardhome.service
[Unit]
Description=AdGuard Home (DietPi)
Wants=network-online.target nss-lookup.target
After=network-online.target
Before=nss-lookup.target
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
User=adguardhome
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW
ExecStart=/mnt/dietpi_userdata/adguardhome/AdGuardHome
ExecReload=/mnt/dietpi_userdata/adguardhome/AdGuardHome -s reload
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
I mixed it up , one of these executables which cannot be told to consistently operate on another directory than the one it is located.
Here is the reason why a reinstall did not update it:
w0rtez:
[ INFO ] DietPi-Software | AdGuard Home executable "/mnt/dietpi_userdata/adguardhome/AdGuardHome" already exists. Download and install steps will be skipped.
- If you want to update AdGuard Home, please use the internal updater from web UI.
- If you need to reinstall (e.g. broken instance), please manually remove the executable "/mnt/dietpi_userdata/adguardhome/AdGuardHome" and rerun "dietpi-software (re)install 126".
If there is an updater embedded, we often do not update software during a reinstall, but only do setup around it, since there might be reasonable steps involved by the embedded updater. However, overall I think it causes more issues/confusion than it helps.
Not sure what AdGuardHome -s install
or AdGuardHome -s uninstall
do, and their output is not helpful either. Maybe they just check for, create or remove a systemd service?
So to install a particular version:
systemctl stop adguardhome
mv ./new/AdGuardHome /mnt/dietpi_userdata/adguardhome/AdGuardHome
systemctl start adguardhome
Regarding the issue: did/do you explicitly have (upstream) DoH enabled, using AdGuardβs own DoH server? Because logs are full of
received addr=https://family.adguard-dns.com:443/dns-query ... timeout
with relatively few request to Unbound or Quad9. Maybe it uses either own DoH as fallback, but either it suffers from the same issue, or it even causes the issue. If you do not configure this explicitly, does the older/functional AdGuard Home do these queries as well? And is there an option to disable upstream DoH entirely (means that the related Quad9 upstream would not work anymore), and does it help?