#!/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 <