@@ -16,9 +16,9 @@ set -o errtrace # Trap ERR in functions and subshells
1616trap ' echo "❌ Script failed on line $LINENO with exit code $?"' ERR
1717
1818# --- DEFAULTS ---
19- RUNNER_NAME=" $( hostname) -runner"
2019RUNNER_DIR=" /opt/github-runner"
21-
20+ RUNAS_USER=" provision"
21+ RUNAS_GROUP=" application"
2222# --- USAGE ---
2323usage () {
2424 echo " Usage: $0 [OPTIONS]"
6262[[ " ${SCOPE} " == " repo" && -z " ${REPO_NAME:- } " ]] && read -rp " Repository name: " REPO_NAME
6363[[ -z " ${GITHUB_TOKEN:- } " ]] && read -rsp " GitHub token (no echo): " GITHUB_TOKEN && echo
6464[[ -z " ${SCOPE:- } " ]] && read -rp " Scope (repo|org) [repo]: " SCOPE && SCOPE=" ${SCOPE:- repo} "
65-
65+ [[ -z " ${RUNNER_NAME :- } " ]] && RUNNER_NAME= " $( hostname ) -runner "
6666
6767# --- Add runner labels ---
6868LABELS=" self-hosted,linux,node,${ENV} "
@@ -125,8 +125,8 @@ REG_TOKEN=$(curl -s -X POST \
125125 " ${REG_URL} " | jq -r .token)
126126
127127# --- CONFIGURE RUNNER ---
128- echo " [+] Configuring runner..."
129- sudo -u $RUNAS_USER ./config.sh \
128+ echo " [+] Configuring runner ${RUNNER_NAME} ..."
129+ ./config.sh \
130130 --unattended \
131131 --url " ${RUNNER_SCOPE} " \
132132 --token " ${REG_TOKEN} " \
@@ -136,8 +136,22 @@ sudo -u $RUNAS_USER ./config.sh \
136136
137137# --- SETUP SYSTEMD SERVICE ---
138138echo " [+] Installing systemd service..."
139- export SUDO_USER= $RUNAS_USER
139+
140140sudo ./svc.sh install
141+
142+ # Detect the systemd service name
143+ SERVICE_FILE_PATH=$( ls /etc/systemd/system/actions.runner.* .service 2> /dev/null | head -n1)
144+
145+ if [[ -n " $SERVICE_FILE_PATH " ]]; then
146+ echo " [+] Updating systemd unit to run as ${RUNAS_USER} :${RUNAS_GROUP} ..."
147+ sudo sed -i " s/^User=.*/User=${RUNAS_USER} /" " $SERVICE_FILE_PATH "
148+ sudo sed -i " s/^Group=.*/Group=${RUNAS_GROUP} /" " $SERVICE_FILE_PATH "
149+ sudo systemctl daemon-reload
150+ else
151+ echo " ⚠️ Could not find service file automatically — please verify installation."
152+ fi
153+
154+
141155sudo ./svc.sh start
142156
143157echo " ✅ Runner '${RUNNER_NAME} ' is installed and started!"
0 commit comments