2024-09-30 20:28:28 +09:00
|
|
|
#!/bin/env bash
|
|
|
|
# Upstream doc: https://forgejo.org/docs/latest/admin/installation-binary/
|
|
|
|
set -euxo pipefail
|
|
|
|
|
|
|
|
IMAGE="ubuntu/24.04"
|
|
|
|
DIST="${IMAGE%%/*}"
|
|
|
|
VER="${IMAGE#*/}"
|
|
|
|
VER="${VER%/*}"
|
|
|
|
VER="${VER//./-}"
|
2024-11-03 19:29:43 +09:00
|
|
|
UPSTREAM_VER="9.0.1"
|
2024-09-30 20:28:28 +09:00
|
|
|
UPSTREAM_VER_DASH="${UPSTREAM_VER//./-}"
|
|
|
|
UPSTREAM_NAME="forgejo"
|
2024-11-03 19:29:43 +09:00
|
|
|
SERIAL="1benoitjpnet"
|
2024-09-30 20:28:28 +09:00
|
|
|
CNAME="$UPSTREAM_NAME-$UPSTREAM_VER_DASH-$SERIAL-$DIST-$VER"
|
|
|
|
ALIAS="$UPSTREAM_NAME-$UPSTREAM_VER-$SERIAL"
|
|
|
|
|
2024-11-21 20:28:20 +09:00
|
|
|
cd "$WORKSPACE"
|
|
|
|
incus launch images:$IMAGE "$CNAME" --quiet
|
2024-09-30 20:28:28 +09:00
|
|
|
|
2024-11-21 20:28:20 +09:00
|
|
|
wait_network "$CNAME"
|
2024-09-30 20:28:28 +09:00
|
|
|
|
|
|
|
# Forgejo
|
2024-11-21 20:28:20 +09:00
|
|
|
incus exec "$CNAME" -- mkdir /etc/esh
|
|
|
|
incus exec "$CNAME" -- apt update
|
|
|
|
incus exec "$CNAME" -- apt upgrade -y
|
|
|
|
incus exec "$CNAME" -- apt install -y --no-install-recommends wget git git-lfs redis-server
|
|
|
|
incus exec "$CNAME" -- \
|
2024-09-30 20:28:28 +09:00
|
|
|
wget --quiet \
|
|
|
|
https://codeberg.org/forgejo/forgejo/releases/download/v${UPSTREAM_VER}/forgejo-${UPSTREAM_VER}-linux-amd64 \
|
|
|
|
-O /usr/local/bin/forgejo
|
2024-11-21 20:28:20 +09:00
|
|
|
incus exec "$CNAME" -- chmod +x /usr/local/bin/forgejo
|
|
|
|
incus exec "$CNAME" -- \
|
2024-10-22 20:12:40 +09:00
|
|
|
adduser \
|
|
|
|
--system \
|
|
|
|
--shell /bin/bash \
|
|
|
|
--gecos 'Git Version Control' \
|
|
|
|
--group \
|
|
|
|
--disabled-password \
|
|
|
|
--home /home/git \
|
|
|
|
git
|
2024-11-21 20:28:20 +09:00
|
|
|
incus exec "$CNAME" -- mkdir /var/lib/forgejo
|
|
|
|
incus exec "$CNAME" -- chown git:git /var/lib/forgejo
|
|
|
|
incus exec "$CNAME" -- chmod 750 /var/lib/forgejo
|
|
|
|
incus exec "$CNAME" -- mkdir /etc/forgejo
|
|
|
|
incus exec "$CNAME" -- chown root:git /etc/forgejo
|
|
|
|
incus exec "$CNAME" -- chmod 770 /etc/forgejo
|
|
|
|
incus exec "$CNAME" -- \
|
2024-09-30 20:28:28 +09:00
|
|
|
wget --quiet \
|
|
|
|
-O /etc/systemd/system/forgejo.service \
|
|
|
|
https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service
|
|
|
|
#incus file push setup.sh $CNAME/usr/local/bin/
|
|
|
|
|
2024-11-14 21:34:38 +09:00
|
|
|
laminarc run incus_publish \
|
|
|
|
CNAME="$CNAME" \
|
2024-11-21 20:58:40 +09:00
|
|
|
UPSTREAM_NAME=$UPSTREAM_NAME \
|
2024-11-14 21:34:38 +09:00
|
|
|
UPSTREAM_VER=$UPSTREAM_VER \
|
|
|
|
IMAGE=$IMAGE \
|
|
|
|
SERIAL=$SERIAL \
|
|
|
|
ALIAS=$ALIAS
|