1
0
Fork 0
1Panel-Appstore/apps/forgejo-runner/12.6.4/scripts/register.sh

35 lines
1.2 KiB
Bash

#!/bin/sh
set -e
echo "Waiting for Docker daemon to be ready..."
apk update && apk add --no-cache curl
until curl -s http://dind:2375/_ping | grep -q "OK"; do
sleep 1
done
echo "Docker daemon is ready."
cd /data
if [ -z "$RUNNER_LABELS" ]; then
RUNNER_LABELS="docker"
fi
if [ ! -s .runner ]; then
echo ">>> Registering runner..."
forgejo-runner register --no-interactive \
--instance "$FORGEJO_INSTANCE_URL" \
--token "$RUNNER_REGISTRATION_TOKEN" \
--name "$RUNNER_NAME" \
--labels "${RUNNER_LABELS}:docker://node:lts"
fi
echo ">>> Create config..."
forgejo-runner generate-config > config.yml
sed -i 's#^ force_pull:.*$# force_pull: true#' config.yml
if [ "$DOCKER_MODE" = "dood" ]; then
sed -i 's#^ network:.*$# network: 1panel-network#' config.yml
sed -i 's#^ docker_host:.*$# docker_host: unix:///var/run/docker.sock#' config.yml
elif [ "$DOCKER_MODE" = "dind" ]; then
sed -i '/envs:/a\ DOCKER_HOST: tcp://dind:2375' config.yml
sed -i 's#^ docker_host:.*$# docker_host: tcp://dind:2375#' config.yml
sed -i 's#^ privileged:.*$# privileged: true#' config.yml
sed -i 's#^ options:.*$# options: --add-host=dind:host-gateway#' config.yml
fi
echo ">>> Starting daemon..."
exec forgejo-runner --config config.yml daemon