Sign inSign up

hardillb/traefik-avahi-helper

By hardillb

Updated 9 months ago

A helper container to generate mDNS CNAMEs for containers being proxied by Traefik

Image
0

100K+

hardillb/traefik-avahi-helper repository overview

traefik-avahi-helper

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

Installing

docker pull hardillb/traefik-avahi-helper

Currently there are AMD64 and ARM64 based builds.

Running

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

AppArmor

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.

Acknowledgement

This uses and borrows heavily from mdns-publisher

Tag summary

Content type

Image

Digest

sha256:edfb41354

Size

69.7 MB

Last updated

9 months ago

docker pull hardillb/traefik-avahi-helper