32 lines
1.0 KiB
Bash
Executable File
32 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
INSTANCE="${1:?Usage: gitea-act-runner-setup <instance-name>}"
|
|
RUNNER_DIR="/var/lib/gitea/runners/${INSTANCE}"
|
|
CONFIG="/etc/gitea/runners/${INSTANCE}.yaml"
|
|
|
|
if [ ! -f "$CONFIG" ]; then
|
|
echo "Config not found: $CONFIG"
|
|
echo "Copy /etc/gitea/runners/runner1.yaml to $CONFIG first."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$RUNNER_DIR"
|
|
chown gitea-runner:gitea-runner "$RUNNER_DIR"
|
|
|
|
mkdir -p "$RUNNER_DIR"
|
|
chown gitea-runner:gitea-runner "$RUNNER_DIR"
|
|
|
|
# Enable rootless podman socket (once per user, idempotent)
|
|
RUNNER_HOME=$(getent passwd gitea-runner | cut -d: -f6)
|
|
SOCKET_WANTS="${RUNNER_HOME}/.config/systemd/user/sockets.target.wants"
|
|
PODMAN_SOCKET="/usr/lib/systemd/user/podman.socket"
|
|
if [ -f "$PODMAN_SOCKET" ] && [ ! -L "${SOCKET_WANTS}/podman.socket" ]; then
|
|
mkdir -p "$SOCKET_WANTS"
|
|
ln -s "$PODMAN_SOCKET" "${SOCKET_WANTS}/podman.socket"
|
|
chown -R gitea-runner:gitea-runner "${RUNNER_HOME}/.config"
|
|
fi
|
|
|
|
cd "$RUNNER_DIR"
|
|
sudo -u gitea-runner gitea-act-runner register -c "$CONFIG"
|