Skip to content
45 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor1# syntax=docker/dockerfile:1.7
2#
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r93# The self-hosted runner's image: `g1t-runner` with a Docker Engine of its
4# own, for Sysbox. The runner starts `dockerd` inside this container and
5# runs each job in a fresh container on it, so jobs are containers inside
6# the runner's container and nothing reaches the machine: Sysbox gives the
7# container its own user namespace (its root is no one on the machine) and
8# lets it run Docker without --privileged. Never mount the machine's
9# /var/run/docker.sock: the runner refuses to start when it sees one.
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor10#
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r911# docker run -d --name g1t-runner --restart unless-stopped \
12# --runtime=sysbox-runc \
13# -v g1t-runner:/data \
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor14# -e G1T_RUNNER_URL=https://g1t.sh -e G1T_RUNNER_TOKEN=g1trt_… \
The runner's image is g1t.sh/flagon-io/g1t-runner, on g1t's own registry, public15# g1t.sh/flagon-io/g1t-runner
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor16#
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r917# PID 1 is docker-init (tini), which supervises g1t-runner and reaps what it
18# leaves; g1t-runner supervises dockerd (crates/runner/src/selfhosted/engine.rs).
19# git, bash and Node stay for host mode (G1T_RUNNER_NO_DOCKER=1), which is
20# deprecated.
21#
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor22# Build context: a folder holding `g1t-runner` for the image's platform,
23# the static Linux build that scripts/runner-release.mjs makes (or
24# scripts/build-runner.mjs, for x64). The release workflow builds and
25# pushes it for linux/amd64 and linux/arm64.
26
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r927# Docker's static builds: the engine, containerd, runc, the CLI, tini.
28FROM docker:28-dind AS docker
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor29
30FROM node:24-bookworm-slim
31RUN apt-get update \
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r932 && apt-get install -y --no-install-recommends git ca-certificates curl iptables procps \
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor33 && rm -rf /var/lib/apt/lists/* \
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r934 && mkdir -p /data /home/runner
35COPY --from=docker /usr/local/bin/dockerd /usr/local/bin/containerd /usr/local/bin/containerd-shim-runc-v2 \
36 /usr/local/bin/ctr /usr/local/bin/runc /usr/local/bin/docker-proxy /usr/local/bin/docker-init \
37 /usr/local/bin/docker /usr/local/bin/
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor38COPY --chmod=0755 g1t-runner /usr/local/bin/g1t-runner
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r939# Its configuration and credential live on this volume. Sysbox keeps the
40# engine's /var/lib/docker on the machine's disk for this container alone.
41ENV G1T_RUNNER_DIR=/data \
42 G1T_RUNNER_SANDBOX=nested
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor43VOLUME /data
Merge branch 'worktree-agent-ac79a505eca749d4d' into claude/cool-newton-7nm8r944ENTRYPOINT ["docker-init", "--", "g1t-runner"]
The sidebar asks billing whether it is on, not for the account, so no page waits on the card processor45CMD ["register-and-run"]

This file's history is long; its oldest lines are credited to the oldest commit read.