From f568aefb82d87d12f7ff006e4d8a557d5fcfb7a8 Mon Sep 17 00:00:00 2001 From: acidvegas Date: Tue, 14 Apr 2026 19:16:31 -0400 Subject: [PATCH] added gitea runner setup --- .env.example | 8 +++++++- setup.runner.sh | 28 ++++++++++++++++++++++++++++ setup.sh | 0 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 setup.runner.sh mode change 100644 => 100755 setup.sh diff --git a/.env.example b/.env.example index f217a26..d7111b7 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,11 @@ # SuperNETs Gitea Deployment - Developed by acidvegas (https://git.supernets.org/supernets/gitea) # gitea/.env.example +# For gitea GITEA_SECRET_KEY= -GITEA_INTERNAL_TOKEN= \ No newline at end of file +GITEA_INTERNAL_TOKEN= + +# For the runner +GITEA_INSTANCE_URL= +GITEA_RUNNER_TOKEN= +GITEA_RUNNER_NAME= \ No newline at end of file diff --git a/setup.runner.sh b/setup.runner.sh new file mode 100755 index 0000000..6a58c86 --- /dev/null +++ b/setup.runner.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# SuperNETs Gitea Deployment - Developed by acidvegas (https://git.supernets.org/supernets/gitea) +# gitea/setup.runner.sh + +# Load environment variables +[ -f .env ] && source .env || { echo "Error: .env file not found"; exit 1; } + +# Set xtrace, exit on error, & verbose mode (after loading environment variables) +set -xev + +# Check for required environment variables +[ -z "${GITEA_INSTANCE_URL}" ] && { echo "Error: GITEA_INSTANCE_URL not set in .env"; exit 1; } +[ -z "${GITEA_RUNNER_TOKEN}" ] && { echo "Error: GITEA_RUNNER_TOKEN not set in .env"; exit 1; } +[ -z "${GITEA_RUNNER_NAME}" ] && { echo "Error: GITEA_RUNNER_NAME not set in .env"; exit 1; } + +# Remove existing docker container if it exists +docker rm -f gitea-runner 2>/dev/null || true + +# Create directory for runner data +mkdir -p /opt/containers/gitea-runner + +# Generate runner config if it doesn't exist +if [ ! -f /opt/containers/gitea-runner/config.yaml ]; then + docker run --rm --entrypoint act_runner gitea/act_runner:latest generate-config > /opt/containers/gitea-runner/config.yaml +fi + +# Run the runner container (registers automatically via environment variables) +docker run -d --restart unless-stopped --name gitea-runner --network host --memory=2g --cpus=1 -e GITEA_INSTANCE_URL="${GITEA_INSTANCE_URL}" -e GITEA_RUNNER_REGISTRATION_TOKEN="${GITEA_RUNNER_TOKEN}" -e GITEA_RUNNER_NAME="${GITEA_RUNNER_NAME}" -e GITEA_RUNNER_LABELS=ubuntu-latest:docker://ubuntu:latest -v /opt/containers/gitea-runner:/data -v /var/run/docker.sock:/var/run/docker.sock gitea/act_runner:latest \ No newline at end of file diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755