Commit Graph
3 Commits
Author SHA1 Message Date
nampdnandClaude Sonnet 5 37aca003ee Fix job-container docker access via a shared unix socket, not TCP
The previous fix (docker_host: tcp://dind:2375) was wrong: act_runner
never passes DOCKER_HOST into job containers as an env var. It always
bind-mounts container.docker_host (read from ITS OWN filesystem) into
every job container as /var/run/docker.sock, and only recognizes
unix:// (or bare) paths -- a tcp:// value is silently treated as
unknown and falls back to a /var/run/docker.sock that doesn't exist in
the runner container, which is exactly the "no such file or directory"
error.

Expose dind's daemon over an additional unix socket on a volume shared
with the runner (dind-sock), and point docker_host at that shared path
so the bind-mount act_runner performs actually resolves to dind's real
socket. Verified by replicating act_runner's exact bind-mount pattern
against the running stack: `docker -H tcp://dind:2375 run -v
/dind-sock/docker.sock:/var/run/docker.sock ...` successfully ran
`docker info` and `docker build` inside a nested container.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XFsukF6FzwBxJtRGzbt28F
2026-07-03 16:57:33 +07:00
nampdnandClaude Sonnet 5 88d5c6d2f5 Fix job containers unable to reach DinD daemon for direct docker commands
docker_host: "-" was disabling docker access in job containers entirely,
so steps running `docker build`/`docker` directly had no daemon to talk
to. Point docker_host at the dind sibling and add a host-gateway entry
so the "dind" hostname resolves inside job containers, which run nested
on dind's own internal bridge network rather than the outer compose one.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XFsukF6FzwBxJtRGzbt28F
2026-07-03 15:56:03 +07:00
nampdnandClaude Opus 4.8 6ca26d2309 Gitea Act Runner: DinD stack with cache + parallel jobs
Stable docker-compose setup for building Rust projects on Gitea Actions.
DinD-isolated daemon, built-in cache server, capacity=4 parallel jobs,
healthcheck-gated startup. Portable to other build machines via .env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HU4wDwdydNZpR3YkMiYYy8
2026-06-30 12:08:05 +07:00