A lot moved since the last docs sweep. Catching everything up in one batch so a newcomer (or future us) reading the repo isn't lied to. **README.md roadmap:** - Walking-skeleton live ISO: upgraded from "screens 1-3 work end-to-end" to "install runs to completion on a VM and the installed system logs in and runs `docker ps` without sudo". - 26.0-alpha release: dropped the "deferred" note — its blocker (archinstall not completing) is gone; just needs a re-tag when we like the installer copy. - Added an explicit "ISO-build in CI" line for the new `.forgejo/workflows/build-iso.yml`. - Split the old "mDNS + local CA" item: mDNS is live (hostname baked in, avahi/nss-mdns in the image), HTTPS via local CA still open. - Noted post-install reboot button, progress bar, archinstall 4.x schema work, console welcome, custom_commands docker group join in the wizard milestone bullet. **docs/runner-setup.md:** - Full rewrite for the docker-outside-of-docker architecture we actually run now (was still describing the DinD sidecar setup). - Documents the `/data` symlink on the host that makes host-mode `-v /data/…:/work` resolve — the non-obvious piece that took the longest to nail down today. - Describes the two runtime modes (`ubuntu-latest:docker://…` for CI, `self-hosted:host` for build-iso) and why each exists. - Adds the `upload-artifact@v3` pin note — v4+ fails on Forgejo with `GHESNotSupportedError`. **ops/forgejo-runner/compose.yml + config.yml:** - Compose now matches what's actually running: DooD (no DinD sidecar), runs as root so apk can install nodejs + docker-cli at startup, /var/run/docker.sock bind-mounted. - Config gets the three explicit label mappings and DooD `docker_host` + `valid_volumes`. **.forgejo/workflows/build-iso.yml:** - Added `paths-ignore` for docs/website/*.md so doc-only commits don't kick off 5-min ISO rebuilds. Code + ISO overlay changes still trigger. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
24 lines
1.1 KiB
YAML
24 lines
1.1 KiB
YAML
services:
|
|
runner:
|
|
image: code.forgejo.org/forgejo/runner:6
|
|
container_name: forgejo-runner
|
|
restart: unless-stopped
|
|
# Running as root so (1) apk can install nodejs + docker-cli at
|
|
# startup (needed by host-mode jobs that execute JS actions and by
|
|
# `iso/build.sh` which shells out to `docker run`), and (2) access
|
|
# to the host docker socket doesn't require group juggling.
|
|
user: "0:0"
|
|
environment:
|
|
- DOCKER_HOST=unix:///var/run/docker.sock
|
|
- CONFIG_FILE=/data/config.yml
|
|
# Mount at /data so the container's data path matches the host path
|
|
# /data (which is a symlink to this directory — see runner-setup.md).
|
|
# When a host-mode job does `docker run -v /data/.cache/act/…:/work`,
|
|
# host docker resolves the source via the symlink instead of failing
|
|
# with "no such file or directory".
|
|
volumes:
|
|
- ./data:/data
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
command: >-
|
|
/bin/sh -c "apk add --no-cache nodejs docker-cli && sleep 5 &&
|
|
forgejo-runner daemon --config /data/config.yml"
|