Laminar/cfg/jobs/adguard.run

61 lines
1.8 KiB
Text
Raw Normal View History

2024-11-21 20:56:04 +09:00
#!/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//./-}"
2025-02-15 12:52:07 +09:00
UPSTREAM_VER="0.107.56"
2024-11-21 20:56:04 +09:00
UPSTREAM_VER_DASH="${UPSTREAM_VER//./-}"
UPSTREAM_NAME="adguard"
2025-02-15 13:04:32 +09:00
SERIAL="2benoitjpnet"
2024-11-21 20:56:04 +09:00
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"
2025-02-15 12:52:07 +09:00
incus config set "$CNAME" environment.DEBIAN_FRONTEND=noninteractive
incus config set "$CNAME" environment.DEBCONF_NONINTERACTIVE_SEEN=true
incus config set "$CNAME" environment.LC_ALL=C
2024-11-21 20:56:04 +09:00
2025-02-15 12:52:07 +09:00
incus exec "$CNAME" -- apt-get update
incus exec "$CNAME" -- apt-get upgrade -y
incus exec "$CNAME" -- apt-get install -y --no-install-recommends wget
incus exec "$CNAME" -- adduser \
2024-11-21 20:56:04 +09:00
--shell /bin/bash \
--gecos "AdGuard Home DNS Server" \
--disabled-password \
--home /opt/adguard \
adguard
2025-02-15 12:54:29 +09:00
incus exec "$CNAME" -- wget --quiet \
https://github.com/AdguardTeam/AdGuardHome/releases/download/v"$UPSTREAM_VER"/AdGuardHome_linux_amd64.tar.gz \
-O /tmp/AdGuardHome_linux_amd64.tar.gz
2025-02-15 12:57:25 +09:00
incus exec "$CNAME" -- mkdir -p /opt/adguard
2025-02-15 12:54:29 +09:00
incus exec "$CNAME" -- tar -xzf \
/tmp/AdGuardHome_linux_amd64.tar.gz \
-C /opt/adguard --strip-components=2
2025-02-15 12:52:07 +09:00
incus exec "$CNAME" -- setcap "CAP_NET_BIND_SERVICE=+eip CAP_NET_RAW=+eip" /opt/adguard/AdGuardHome
incus exec "$CNAME" -- mkdir -p /etc/systemd/resolved.conf.d
incus exec "$CNAME" -- bash -c 'cat << EOT > /etc/systemd/resolved.conf.d/adguardhome.conf
2024-11-27 22:18:58 +09:00
[Resolve]
DNS=127.0.0.1
DNSStubListener=no
2025-02-15 12:52:07 +09:00
EOT'
2024-11-21 20:56:04 +09:00
2025-02-15 12:52:07 +09:00
incus exec "$CNAME" -- /opt/adguard/AdGuardHome -s install
2024-11-21 20:56:04 +09:00
laminarc run incus_publish \
CNAME="$CNAME" \
2024-11-21 20:58:40 +09:00
UPSTREAM_NAME=$UPSTREAM_NAME \
2024-11-21 20:56:04 +09:00
UPSTREAM_VER=$UPSTREAM_VER \
IMAGE=$IMAGE \
SERIAL=$SERIAL \
ALIAS=$ALIAS