this post was submitted on 07 Oct 2023
52 points (96.4% liked)

Selfhosted

39980 readers
780 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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 :)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 1 year ago (1 children)

If I’m understanding this correctly, this (plus some other stuff I probably don’t have setup, like traefik) would publish to a local-DNS-like entity so that I could go to sonarr.local and jellyfin.local instead of my current way of memorizing/ bookmarking all the various addresses in the form of server_ip:port# ?

[–] [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.