feat: add dedicated portfolio Gitea runner

This commit is contained in:
2026-09-15 14:36:19 +03:30
commit 23196d6884
12 changed files with 313 additions and 0 deletions

16
scripts/check-runner.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -Eeuo pipefail
repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"
docker compose config --quiet
docker compose ps
docker compose exec runner test -s /data/.runner
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
portfolio-runner-job:node22 \
sh -lc 'node --version && npm --version && git --version && docker version && docker buildx version && docker compose version'
echo "Runner registration, Docker access, and job-image tools are ready."

24
scripts/gitea-compose.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -Eeuo pipefail
repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
deployment_root="${GITEA_DEPLOYMENT_PATH:-$HOME/gitea-deployment}"
base_compose="$deployment_root/docker-compose.yml"
base_env="$deployment_root/.env"
if [[ ! -f "$base_compose" ]]; then
echo "Generic Gitea Compose file not found: $base_compose" >&2
exit 2
fi
if [[ ! -f "$base_env" ]]; then
echo "Generic Gitea environment file not found: $base_env" >&2
exit 2
fi
exec docker compose \
--project-name gitea-deployment \
--project-directory "$deployment_root" \
--env-file "$base_env" \
--file "$base_compose" \
--file "$repo_root/gitea.caddy.yaml" \
"$@"

30
scripts/inspect-runner.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -Eeuo pipefail
repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"
echo "Runner image"
docker inspect --format '{{.Config.Image}}' gitea-runner 2>/dev/null || true
echo "Runner version"
docker compose exec runner gitea-runner --version 2>/dev/null || \
docker compose exec runner act_runner --version 2>/dev/null || true
echo "Runner configuration"
docker compose exec runner sh -c 'cat /config.yaml' 2>/dev/null || true
echo "Host resources"
nproc
free -h
df -h / /var/lib/docker 2>/dev/null || df -h /
echo "Docker builders"
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portfolio-runner-docker-config:/root/.docker \
portfolio-runner-job:node22 \
docker buildx ls 2>/dev/null || true
echo "Recent runner logs"
docker compose logs --tail=200 runner 2>/dev/null || true

18
scripts/setup-runner.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -Eeuo pipefail
repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"
if [[ ! -f .env ]]; then
cp .env.example .env
chmod 600 .env
echo "Created $repo_root/.env. Add the repository runner token, then rerun this script." >&2
exit 1
fi
docker build --pull --tag portfolio-runner-job:node22 .
docker compose config --quiet
docker compose up -d
echo "Runner started. Follow logs with: docker compose logs --follow runner"