Adguard: Init

This commit is contained in:
Benoit 2024-11-21 20:56:04 +09:00
parent 85c14829c0
commit bf41705208
Signed by: Benoit
SSH key fingerprint: SHA256:kFsX94Kq6z/6CY0dX+7/FpAeJC0QlMhJVY+B7NYrOmA
2 changed files with 76 additions and 0 deletions

51
cfg/jobs/adguard.run Executable file
View file

@ -0,0 +1,51 @@
#!/bin/env bash
# Upstream doc: https://adguard-dns.io/kb/adguard-home/getting-started/
set -euxo pipefail
IMAGE="ubuntu/24.04"
DIST="${IMAGE%%/*}"
VER="${IMAGE#*/}"
VER="${VER%/*}"
VER="${VER//./-}"
UPSTREAM_VER="0.107.54"
UPSTREAM_VER_DASH="${UPSTREAM_VER//./-}"
UPSTREAM_NAME="adguard"
SERIAL="1benoitjpnet"
CNAME="$UPSTREAM_NAME-$UPSTREAM_VER_DASH-$SERIAL-$DIST-$VER"
ALIAS="$UPSTREAM_NAME-$UPSTREAM_VER-$SERIAL"
cd "$WORKSPACE"
incus launch images:$IMAGE "$CNAME" --quiet
wait_network "$CNAME"
incus exec "$CNAME" -- bash -c '
apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends wget
adduser \
--system \
--shell /bin/bash \
--gecos "AdGuard Home DNS Server" \
--group \
--disabled-password \
--home /opt/adguard \
adguard
cd /tmp && \
wget --quiet https://github.com/AdguardTeam/AdGuardHome/releases/download/v'"$UPSTREAM_VER"'/AdGuardHome_linux_amd64.tar.gz && \
tar -xzf AdGuardHome_linux_amd64.tar.gz -C /opt/adguard --strip-components=1 && \
rm AdGuardHome_linux_amd64.tar.gz
install -d -m 755 -o adguard -g adguard /opt/adguard/{data,config}
'
incus file push adguard.service "$CNAME"/etc/systemd/system/
incus exec "$CNAME" -- systemctl enable adguard
laminarc run incus_publish \
CNAME="$CNAME" \
UPSTREAM=$UPSTREAM_NAME \
UPSTREAM_VER=$UPSTREAM_VER \
IMAGE=$IMAGE \
SERIAL=$SERIAL \
ALIAS=$ALIAS

View file

@ -0,0 +1,25 @@
[Unit]
Description=AdGuard Home: Network-level blocker
ConditionFileIsExecutable=/opt/adguard/AdGuardHome
After=syslog.target network-online.target
[Service]
User=adguard
Group=adguard
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/tmp/AdGuardHome/AdGuardHome "-s" "run" "-c" "/etc/adguard/adguard.yaml"
WorkingDirectory=/opt/adguard
StandardOutput=journal
StandardError=journal
Restart=always
RestartSec=10
EnvironmentFile=-/etc/sysconfig/AdGuardHome
[Install]
WantedBy=multi-user.target