From 9bc4b44226e61782a4017630347c217992d5db30 Mon Sep 17 00:00:00 2001 From: Benoit Date: Tue, 11 Feb 2025 17:24:47 +0900 Subject: [PATCH] Add Kanboard --- cfg/jobs/kanboard.run | 49 +++++++++++++++++++++++++++++++++ run/kanboard/workspace/setup.sh | 25 +++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100755 cfg/jobs/kanboard.run create mode 100644 run/kanboard/workspace/setup.sh diff --git a/cfg/jobs/kanboard.run b/cfg/jobs/kanboard.run new file mode 100755 index 0000000..ac0f1d9 --- /dev/null +++ b/cfg/jobs/kanboard.run @@ -0,0 +1,49 @@ +#!/bin/env bash +# Upstream doc: https://docs.kanboard.org/v1/admin/installation/ +set -euxo pipefail + +IMAGE="ubuntu/24.04" +DIST="${IMAGE%%/*}" +VER="${IMAGE#*/}" +VER="${VER%/*}" +VER="${VER//./-}" +UPSTREAM_VER="1.2.43" +UPSTREAM_VER_DASH="${UPSTREAM_VER//./-}" +UPSTREAM_NAME="forgejo" +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" -- apt update +incus exec "$CNAME" -- apt upgrade -y +incus exec "$CNAME" -- apt install -y --no-install-recommends \ + apache2 \ + git \ + php \ + php-curl \ + php-dom \ + php-gd \ + php-mbstring \ + php-opcache \ + php-sqlite3 \ + php-xml \ + php-zip \ + unzip \ + wget + +incus file push "$WORKSPACE"/setup.sh \ + "$CNAME"/tmp/ +incus exec "$CNAME" -- bash /tmp/setup.sh + +laminarc run incus_publish \ + CNAME="$CNAME" \ + UPSTREAM_NAME=$UPSTREAM_NAME \ + UPSTREAM_VER=$UPSTREAM_VER \ + IMAGE=$IMAGE \ + SERIAL=$SERIAL \ + ALIAS=$ALIAS diff --git a/run/kanboard/workspace/setup.sh b/run/kanboard/workspace/setup.sh new file mode 100644 index 0000000..3b03bf0 --- /dev/null +++ b/run/kanboard/workspace/setup.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -euox pipefail + +a2enmod rewrite +cd /tmp +wget "https://github.com/kanboard/kanboard/archive/refs/tags/v${UPSTREAM_VER}.zip" +unzip "v${UPSTREAM_VER}.zip" -d /var/www +mv /var/www/kanboard-* /var/www/kanboard +chown -R www-data: /var/www/kanboard +chmod -R 775 /var/www/kanboard +chmod -R 770 /var/www/kanboard/data +cat << EOT > /etc/apache2/sites-available/kanboard.conf + + DocumentRoot /var/www/kanboard + + AllowOverride All + Require all granted + + +EOT +# Enable the site +a2ensite kanboard.conf +a2dissite 000-default.conf +apache2ctl configtest || echo "Apache2 config failed!" +systemctl restart apache2