1ad33c2396
CI Smoke / toolchain (push) Successful in 1s
- Publish v0.1.0/latest as multi-arch (linux/amd64+arm64); amd64 passes 17/17 smoke - publish-image.sh: add PLATFORMS multi-arch buildx mode (reproducible amd64 build) - compose + unraid notes: fix image path to include jason/ namespace - unraid notes: document required docker login (private package) and host label for docker build/push jobs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51 lines
2.0 KiB
YAML
51 lines
2.0 KiB
YAML
# docker-compose.example.yml — custom-gitea-runner deployment
|
|
# Copy and adjust for your environment. Use pinned image tags in production.
|
|
#
|
|
# Modes:
|
|
# Mode A (pre-generated config): mount config/runner.yaml — set RUNNER_CONFIG_PATH
|
|
# Mode B (bootstrap on first run): set GITEA_INSTANCE_URL, GITEA_RUNNER_TOKEN, GITEA_RUNNER_NAME
|
|
|
|
services:
|
|
gitea-runner:
|
|
image: registry.alwisp.com/jason/custom-gitea-runner:v0.1.0 # pin your version here (Gitea CR requires the owner namespace)
|
|
container_name: gitea-runner
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
# ── Required for Mode B (bootstrap registration) ───────────────────────
|
|
GITEA_INSTANCE_URL: https://git.example.com
|
|
GITEA_RUNNER_NAME: unraid-runner-01
|
|
GITEA_RUNNER_TOKEN: ${GITEA_RUNNER_TOKEN} # set in .env file
|
|
|
|
# ── Optional ──────────────────────────────────────────────────────────
|
|
# `host` runs steps in the runner container (Docker CLI + socket available),
|
|
# needed for docker build/push. `ubuntu-latest` runs in a clean node container.
|
|
GITEA_RUNNER_LABELS: ubuntu-latest:docker://node:20-bullseye,host:host
|
|
RUNNER_CONFIG_PATH: /config/runner.yaml
|
|
RUNNER_WORKDIR: /work
|
|
TZ: America/Chicago
|
|
|
|
volumes:
|
|
# Runner config (persisted across restarts; generated on first boot in Mode B)
|
|
- ./config:/config
|
|
|
|
# Job workspace (writable scratch space for running jobs)
|
|
- ./work:/work
|
|
|
|
# Docker socket — required for docker build/push workflows
|
|
# Grants the runner full Docker daemon access. Understand the trust model.
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
# Limit resources to avoid runaway jobs starving the host
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: "4"
|
|
memory: 4G
|
|
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|