Laminar/cfg/jobs/miniflux.run

51 lines
1.5 KiB
Text
Raw Normal View History

2025-02-14 20:47:50 +09:00
#!/bin/env bash
# Upstream doc: https://miniflux.app/docs/debian.html
set -euxo pipefail
IMAGE="ubuntu/24.04"
DIST="${IMAGE%%/*}"
VER="${IMAGE#*/}"
VER="${VER%/*}"
VER="${VER//./-}"
UPSTREAM_VER="2.2.5"
UPSTREAM_VER_DASH="${UPSTREAM_VER//[.+]/-}"
UPSTREAM_NAME="miniflux"
2025-02-14 20:54:48 +09:00
SERIAL="2benoitjpnet"
2025-02-14 20:47:50 +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-14 20:54:02 +09:00
incus exec "$CNAME" -- bash -c 'cat >> /etc/environment << EOL
DEBIAN_FRONTEND=noninteractive
DEBCONF_NONINTERACTIVE_SEEN=true
LC_ALL=C
EOL'
2025-02-14 20:47:50 +09:00
incus exec "$CNAME" -- bash -c 'echo "deb [trusted=yes] https://repo.miniflux.app/apt/ * *" > /etc/apt/sources.list.d/miniflux.list'
incus exec "$CNAME" -- apt update
incus exec "$CNAME" -- apt upgrade -y
incus exec "$CNAME" -- apt install -y --no-install-recommends \
miniflux=${UPSTREAM_VER} \
postgresql
set +x
PG_PASS=$(openssl rand -hex 32)
incus file push <(sed "s/SED_PG_PASS/$PG_PASS/" "$WORKSPACE"/miniflux.conf) \
"$CNAME"/etc/miniflux.conf
set -x
2025-02-14 20:50:29 +09:00
incus exec "$CNAME" -- bash -c "sudo -u postgres psql -c \"CREATE USER miniflux WITH PASSWORD '${PG_PASS}';\""
2025-02-14 20:47:50 +09:00
incus exec "$CNAME" -- bash -c 'sudo -u postgres psql -c "CREATE DATABASE miniflux OWNER miniflux;"'
incus exec "$CNAME" -- systemctl enable miniflux
laminarc run incus_publish \
CNAME="$CNAME" \
UPSTREAM_NAME=$UPSTREAM_NAME \
UPSTREAM_VER=$UPSTREAM_VER \
IMAGE=$IMAGE \
SERIAL=$SERIAL \
ALIAS=$ALIAS