A helper container to generate mDNS CNAMEs for containers being proxied by Traefik
100K+
A helper container to expose proxied containers as mDNS CNAMEs that are being proxied by the offical Traefik docker container.
It reads the same container labels as the Traefik container e.g.
traefik.http.routers.r1.rule=Host(`r1.docker.local`)
This will create a CNAME entry of r1.docker.local
docker pull hardillb/traefik-avahi-helper
Currently there are AMD64 and ARM64 based builds.
To work this needs the following 2 volumes mounting:
-v /var/run/docker.sock:/var/run/docker.sock
This allows the container to monitor docker
-v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket
And this allows the container to send d-bus commands to the host OS's Avahi daemon
$ docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket hardillb/traefik-avahi-helper
If you prefer docker compose, here is a minimal one to get you started,
services:
avahi-helper:
image: hardillb/traefik-avahi-helper
# build: .
# container_name: traefik-avahi_helper
restart: unless-stopped
hostname: avahi-helper
# for debian 13
network_mode: host
ipc: host
security_opt:
- apparmor:unconfined
- seccomp:unconfined
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /run/dbus/system_bus_socket:/run/dbus/system_bus_socket
If you are running on system with AppArmor installed you may get errors about not being able to send d-bus messages. To fix this add
--privileged to the command line.
This is a temp workaround until I can work out a suitable policy to apply.
This uses and borrows heavily from mdns-publisher
Content type
Image
Digest
sha256:edfb41354…
Size
69.7 MB
Last updated
9 months ago
docker pull hardillb/traefik-avahi-helper