diff --git a/cfg/jobs/incus_publish.run b/cfg/jobs/incus_publish.run deleted file mode 100644 index 8e4ff3b..0000000 --- a/cfg/jobs/incus_publish.run +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/env bash -set -euxo pipefail - -# Clean -incus exec "$CNAME" -- \ - rm -rf \ - /etc/machine-id \ - /var/cache/apt \ - /var/log/journal - -# Publish -incus stop "$CNAME" -incus config metadata show "$CNAME" > "$ARCHIVE"/metadata.yaml -# Get the current Unix timestamp -current_timestamp=$(date +%s) -# Calculate expiry date as current timestamp + 1 week (604800 seconds) -expiry_date=$((current_timestamp + 604800)) -# Update metadata values -sed -i \ - -e "s/creation_date: .*/creation_date: $current_timestamp/" \ - -e "s/expiry_date: .*/expiry_date: $expiry_date/" \ - -e "s#description: .*#description: $UPSTREAM_NAME v$UPSTREAM_VER on $IMAGE release $SERIAL#" \ - -e "s/name: .*/name: $CNAME/" \ - -e "s/serial: .*/serial: $SERIAL/" \ - "$ARCHIVE"/metadata.yaml - -incus config metadata edit "$CNAME" < "$ARCHIVE"/metadata.yaml -incus publish "$CNAME" \ - --alias "$ALIAS" \ - --public \ - --quiet -incus rm "$CNAME" diff --git a/cfg/jobs/navidrome.run b/cfg/jobs/navidrome.run index 439886e..f11ac2f 100755 --- a/cfg/jobs/navidrome.run +++ b/cfg/jobs/navidrome.run @@ -14,36 +14,55 @@ 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 +cd $WORKSPACE +incus launch images:$IMAGE $CNAME --quiet -wait_network "$CNAME" +wait_network $CNAME # Navidrome -incus exec "$CNAME" -- bash -c "apt update && \ - apt upgrade -y && \ - apt install -y --no-install-recommends ffmpeg wget && \ - useradd -m -s /sbin/nologin -d /var/lib/navidrome navidrome && \ - install -d -o navidrome -g navidrome /opt/navidrome && \ - wget -q https://github.com/navidrome/navidrome/releases/download/v${UPSTREAM_VER}/navidrome_${UPSTREAM_VER}_linux_amd64.tar.gz \ - -O /tmp/Navidrome.tar.gz && \ - tar -xvzf /tmp/Navidrome.tar.gz -C /opt/navidrome/ && \ - chown -R navidrome:navidrome /opt/navidrome -" +incus exec $CNAME -- apt update +incus exec $CNAME -- apt upgrade -y +incus exec $CNAME -- apt install -y --no-install-recommends ffmpeg wget +incus exec $CNAME -- useradd -m -s /sbin/nologin -d /var/lib/navidrome navidrome +incus exec $CNAME -- install -d -o navidrome -g navidrome /opt/navidrome +incus exec $CNAME -- wget -q \ + "https://github.com/navidrome/navidrome/releases/download/v${UPSTREAM_VER}/navidrome_${UPSTREAM_VER}_linux_amd64.tar.gz" \ + -O /tmp/Navidrome.tar.gz +incus exec $CNAME -- tar -xvzf /tmp/Navidrome.tar.gz -C /opt/navidrome/ +incus exec $CNAME -- chown -R navidrome:navidrome /opt/navidrome # Syncthing -incus exec "$CNAME" -- apt install -y --no-install-recommends syncthing -incus exec "$CNAME" -- cp /lib/systemd/system/syncthing\@.service /etc/systemd/system/ -incus exec "$CNAME" -- sed -i \ +incus exec $CNAME -- apt install -y --no-install-recommends syncthing +incus exec $CNAME -- cp /lib/systemd/system/syncthing\@.service /etc/systemd/system/ +incus exec $CNAME -- sed -i \ 's/\(ExecStart=\/usr\/bin\/syncthing serve --no-browser --no-restart --logflags=0\)/\1 --gui-address=0.0.0.0:8384/' \ /etc/systemd/system/syncthing\@.service # Next manual steps https://www.navidrome.org/docs/installation/linux/#create-configuration-file -laminarc run incus_publish \ - CNAME="$CNAME" \ - UPSTREAM=$UPSTREAM_NAME \ - UPSTREAM_VER=$UPSTREAM_VER \ - IMAGE=$IMAGE \ - SERIAL=$SERIAL \ - ALIAS=$ALIAS +# Clean +incus exec $CNAME -- \ + rm -rf \ + /etc/machine-id \ + /var/cache/apt \ + /var/log/journal + +# Publish +incus stop $CNAME +incus config metadata show $CNAME > metadata.yaml +# Get the current Unix timestamp +current_timestamp=$(date +%s) +# Calculate expiry date as current timestamp + 1 week (604800 seconds) +expiry_date=$(($current_timestamp + 604800)) +# Update metadata values +sed -i \ + -e "s/creation_date: .*/creation_date: $current_timestamp/" \ + -e "s/expiry_date: .*/expiry_date: $expiry_date/" \ + -e "s#description: .*#description: $UPSTREAM_NAME v$UPSTREAM_VER on $IMAGE release $SERIAL#" \ + -e "s/name: .*/name: $CNAME/" \ + -e "s/serial: .*/serial: $SERIAL/" \ + metadata.yaml + +incus config metadata edit $CNAME < metadata.yaml +incus publish $CNAME --alias $ALIAS --public +incus rm $CNAME