From 3e722409706753bbf1cf39b262fc14bf7c752e87 Mon Sep 17 00:00:00 2001 From: oddstr13 Date: Thu, 10 Apr 2025 00:21:51 +0000 Subject: [PATCH] Add setup-forgejo-runner.sh --- setup-forgejo-runner.sh | 84 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 setup-forgejo-runner.sh diff --git a/setup-forgejo-runner.sh b/setup-forgejo-runner.sh new file mode 100644 index 0000000..8dfd19c --- /dev/null +++ b/setup-forgejo-runner.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -ex + +FORGEJO_URL=${FORGEJO_URL:-https://git.service.openshell.network/} +FORGEJO_RUNNER_TOKEN=${FORGEJO_RUNNER_TOKEN:-} + +RUNNER_DIR="${RUNNER_DIR:-~/docker/ForgejoRunner}" +RUNNER_USER=${RUNNER_USER:-forgejo-runner} +RUNNER_NAME="${RUNNER_NAME:-$(hostname)}" +RUNNER_LABELS="${RUNNER_LABELS:-docker:docker://ghcr.io/catthehacker/ubuntu:runner-latest,runner-latest-arm:docker://ghcr.io/catthehacker/ubuntu:runner-latest,runner-latest:docker://ghcr.io/catthehacker/ubuntu:runner-latest,runner:docker://ghcr.io/catthehacker/ubuntu:runner-latest,runner-22.04-arm:docker://ghcr.io/catthehacker/ubuntu:runner-22.04,runner-20.04-arm:docker://ghcr.io/catthehacker/ubuntu:runner-20.04,runner-22.04:docker://ghcr.io/catthehacker/ubuntu:runner-22.04,runner-20.04:docker://ghcr.io/catthehacker/ubuntu:runner-20.04}" + +mkdir -p "${RUNNER_DIR}" +cd "${RUNNER_DIR}" + +if [[ -f compose.yaml ]]; then + echo The file compose.yaml exists, bailing... > /dev/stderr + exit 1 +fi + +if [ -z "${FORGEJO_URL}" ]; then + read -p "Forgejo URL: " FORGEJO_URL +fi + +if [ -z "${FORGEJO_RUNNER_TOKEN}" ]; then + read -p "Registration token: " FORGEJO_RUNNER_TOKEN +fi + + +mkdir -p data/.cache +touch data/.runner + +if ! id ${RUNNER_USER} >/dev/null 2>&1; then + echo Creating ${RUNNER_USER} user... + sudo useradd ${RUNNER_USER} +fi + +FORGEJO_UID=$(id -u ${RUNNER_USER}) +FORGEJO_GID=$(id -g ${RUNNER_USER}) + + +chmod 775 data/.runner +chmod 775 data/.cache + +sudo chown -R ${FORGEJO_UID}:${FORGEJO_GID} data/.cache +sudo chown -R ${FORGEJO_UID}:${FORGEJO_GID} data/.runner +sudo chmod g+s data/.runner +sudo chmod g+s data/.cache + + +cat > compose.yaml <