runner is configured via /etc/runner/config.env.
Notes:
RUNNER_BOOTSTRAP_REPO_URL+RUNNER_BOOTSTRAP_REPO_REFtell the host where togit clonethis installer from. Use your fork URL if you maintain one. If you omit them, bootstrap defaults to this repo onmain.- A line like
FOO=means “set but empty”.
If you’re not sure what to put in here:
- Start with the “Minimal” example.
- Then only add the options you actually need.
# Preferred: bootstrap pin
RUNNER_BOOTSTRAP_REPO_URL=https://github.com/your-org/github-runner.git
RUNNER_BOOTSTRAP_REPO_REF=mainWhat this does:
- On first boot, runner’s bootstrap script clones
RUNNER_BOOTSTRAP_REPO_URLatRUNNER_BOOTSTRAP_REPO_REFand runs the installer from that checkout. - Pinning to a tag or commit is the easiest way to make installs repeatable.
# Optional: actions runner version to install.
# Default: 2.330.0 (may not be the latest).
# The GitHub “New self-hosted runner” page shows the current version in its commands.
# RUNNER_ACTIONS_RUNNER_VERSION=2.330.0
# GitHub URL to register against.
# Registration token from GitHub UI: Settings → Actions → Runners → New self-hosted runner.
# Use either:
# - Repo runner: https://github.com/<owner>/<repo>
# - Org runner: https://github.com/<org>
RUNNER_GITHUB_URL=
# Registration token from GitHub UI: Settings → Actions → Runners → New self-hosted runner.
# Note: short-lived (expires); not a PAT.
RUNNER_REGISTRATION_TOKEN=
# Optional: runner display name (defaults to hostname)
# RUNNER_NAME=pi-runnerRUNNER_BOOTSTRAP_REPO_URL=https://github.com/your-org/github-runner.git
RUNNER_BOOTSTRAP_REPO_REF=v0.1.0RUNNER_BOOTSTRAP_REPO_URL=https://github.com/your-org/github-runner.git
RUNNER_BOOTSTRAP_REPO_REF=main
# Where bootstrap clones the repo
APPLIANCE_CHECKOUT_DIR=/opt/runner
# Space-separated list of extra packages to install
APPLIANCE_APT_PACKAGES="ca-certificates curl git"
# Runner installation location
RUNNER_ACTIONS_RUNNER_DIR=/opt/runner/actions-runner
# systemd-nspawn base rootfs to use for ephemeral guests
RUNNER_NSPAWN_BASE_ROOTFS=/var/lib/runner/nspawn/base-rootfs
# Optional bind mounts into the guest (space-separated)
RUNNER_NSPAWN_BIND="/dev/dri:/dev/dri"
RUNNER_NSPAWN_BIND_RO="/etc/resolv.conf:/etc/resolv.conf"Tips:
APPLIANCE_APT_PACKAGESis for anything you want available on the host (for examplejq).- The
RUNNER_NSPAWN_BIND*settings are useful when your jobs need access to a specific device or host file.