59 lines
1.8 KiB
Bash
Executable file
59 lines
1.8 KiB
Bash
Executable file
#!/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.56"
|
|
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 config set "$CNAME" environment.DEBIAN_FRONTEND=noninteractive
|
|
incus config set "$CNAME" environment.DEBCONF_NONINTERACTIVE_SEEN=true
|
|
incus config set "$CNAME" environment.LC_ALL=C
|
|
|
|
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 \
|
|
--shell /bin/bash \
|
|
--gecos "AdGuard Home DNS Server" \
|
|
--group \
|
|
--disabled-password \
|
|
--home /opt/adguard \
|
|
adguard
|
|
|
|
incus exec "$CNAME" -- cd /tmp
|
|
incus exec "$CNAME" -- wget --quiet https://github.com/AdguardTeam/AdGuardHome/releases/download/v"$UPSTREAM_VER"/AdGuardHome_linux_amd64.tar.gz
|
|
incus exec "$CNAME" -- tar -xzf AdGuardHome_linux_amd64.tar.gz -C /opt/adguard --strip-components=2
|
|
incus exec "$CNAME" -- rm AdGuardHome_linux_amd64.tar.gz
|
|
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
|
|
[Resolve]
|
|
DNS=127.0.0.1
|
|
DNSStubListener=no
|
|
EOT'
|
|
|
|
incus exec "$CNAME" -- /opt/adguard/AdGuardHome -s install
|
|
|
|
laminarc run incus_publish \
|
|
CNAME="$CNAME" \
|
|
UPSTREAM_NAME=$UPSTREAM_NAME \
|
|
UPSTREAM_VER=$UPSTREAM_VER \
|
|
IMAGE=$IMAGE \
|
|
SERIAL=$SERIAL \
|
|
ALIAS=$ALIAS
|