nextlevelbuilder / nextlevelbuilder/goclaw

Docker resolver breaks podman

Open
#550 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

agent:github-maintain fix-in-review maintain:triaged
Dominant language
Go
Stars
3.6k
Forks
1.1k
Avg merge
3d 5h
Merged PRs (30d)
24

Description

Hours/days of "...but it used to work!"

Simplest fix: to /etc/nginx/conf.d/default.conf

resolver 127.0.0.11 10.89.1.1 valid=10s ipv6=off;

Commit a4a7a59b from Mar 20, 2026 added the Docker resolver:

 fix(sandbox): path isolation, DooD volume mounting, hints, and nginx DNS    

(#129, #136)

 - Nginx DNS: add Docker resolver (127.0.0.11) with dynamic upstream
   variable to handle backend container IP changes

It was added to handle Docker container restarts with new IPs. Works on
Docker, breaks on podman.

Simpler bug report: "The Docker DNS resolver is unnecessary and breaks podman.
Nginx resolves goclaw hostname at startup - the explicit resolver only helps
if goclaw restarts alone, which doesn't happen in a compose stack."

A drop in for nginx conf.d to fix it

auto:/code/goclaw/options/podman$ cat nginx-podman-resolver.conf 
# Podman DNS resolver override — loaded after default.conf
# Podman uses network gateway IP instead of Docker's 127.0.0.11
resolver 10.89.1.1 valid=10s ipv6=off;

networks:
  default:
    driver: bridge

services:
  goclaw-ui:
    volumes:
      - ${GOCLAW_DIR}/options/podman/nginx-podman-resolver.conf:/etc/nginx/conf.d/zz-podman-dns.conf:ro

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Nginx resolver in /etc/nginx/conf.d/default.conf and the Podman override at options/podman/nginx-podman-resolver.conf, then inspect the goclaw-ui volume in the compose configuration. Reproduce startup with Podman and verify that the UI can resolve goclaw; done means the configuration works with Podman without breaking Docker behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, nginx
Domain
devops, infrastructure
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.