duck_lol

joined 1 year ago
[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

If you prefer, I think Avahi is able to publish other TLDs, but I played around with it just now and couldn't get it to work. If you have any luck, let me know what worked for you and I'll try to add support :)

This is what I tried, but it fails with Failed to add address: Not supported:

# Set domain-name=lan and enable-wide-area=no
nano /etc/avahi/avahi-daemon.conf
sudo avahi-daemon --reload
sudo avahi-publish-address -R example.lan 192.168.1.123
[–] [email protected] 2 points 1 year ago

Hey, thanks, I too am very lazy and that's why I wrote this :) Let me know if you need any tweaks.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

If anybody liked this but wished it automatically picked up label changes, I just spent some time and hacked it in :) Let me know if anything doesn't work or is unclear!

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

Yes, exactly!

Edit: ...actually, almost! You don't even need Traefik, but this actually doesn't handle ports for you. You'll still need to visit sonarr.local:port. If you want to get rid of the ports, you'll need to set up Traefik or another reverse proxy - see the compose_example.yaml in the repo for a simple example.

If your containers are already available at server_ip:port, on your local network, whether directly or by another proxy, you can just add the label (traefik.http.routers.x.rule=Host(`example.local`)) to the container and this will pick it up, no Traefik needed. (And then visit example.local, or example.local:port if not 80.)

I'm meaning to rework the README a bit to make this clear, and perhaps add a simpler label you can use :)

Edit 2: Reworked the README a bit and added support for a quack_domains.hosts label so you don't have to write out all that Traefik stuff if you don't want :) But to access multiple services without a port, you'll still need to set up a reverse proxy like Traefik, or nginx, or Caddy.

 

Inspired by everyone here, I've spent the past few months playing with hosting my own instances of various open source projects. I just use them on my local network, and love the automatic mDNS my_machine_name.local addresses.

I also love Traefik's use of Docker Compose labels as a source of hostname configuration (docs), so I thought it would be nice to automatically publish these too!

If this sounds interesting, you can find usage instructions and technical details on GitHub. This is my first published project, so I apologize for any rough edges, but I'll try my best to accommodate feedback :)