[P9] Add CoreDNS service for container name resolution #101

Closed
opened 2026-03-22 15:46:25 +00:00 by kert · 0 comments
Owner

Problem

Containers (especially buildkit) cannot resolve *.homelab.fhirworx.io because there is no DNS service in the stack. We rely on extra_hosts hacks per-service which don't propagate to dynamically created containers like buildkit builders.

Solution

Add a CoreDNS (or dnsmasq) service that:

  • Resolves *.homelab.fhirworx.io → $HOST_IP
  • Forwards everything else to upstream DNS
  • Runs on the gateway network so all containers can reach it

Acceptance criteria

  • CoreDNS service in compose.yml with a Corefile
  • Wildcard homelab.fhirworx.io zone pointing to HOST_IP
  • Upstream forwarding for all other queries
  • Docker daemon configured to use this resolver (dns in daemon.json)
  • Remove extra_hosts from woodpecker-server (no longer needed)
  • Verify: docker run --rm alpine nslookup gitea.homelab.fhirworx.io resolves
## Problem Containers (especially buildkit) cannot resolve `*.homelab.fhirworx.io` because there is no DNS service in the stack. We rely on `extra_hosts` hacks per-service which don't propagate to dynamically created containers like buildkit builders. ## Solution Add a CoreDNS (or dnsmasq) service that: - Resolves `*.homelab.fhirworx.io` → `$HOST_IP` - Forwards everything else to upstream DNS - Runs on the `gateway` network so all containers can reach it ## Acceptance criteria - [ ] CoreDNS service in compose.yml with a Corefile - [ ] Wildcard `homelab.fhirworx.io` zone pointing to HOST_IP - [ ] Upstream forwarding for all other queries - [ ] Docker daemon configured to use this resolver (`dns` in daemon.json) - [ ] Remove `extra_hosts` from woodpecker-server (no longer needed) - [ ] Verify: `docker run --rm alpine nslookup gitea.homelab.fhirworx.io` resolves
kert added this to the P9: CI/CD Unification milestone 2026-03-22 15:46:25 +00:00
kert added the ci label 2026-03-22 15:46:25 +00:00
kert closed this issue 2026-03-23 17:56:49 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#101