Live data from Hacker News

Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

github.com

21–30 of 38 posts

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#21

Earlier quoted context omitted.

BIND provides DNS that just works. :)

Agreed, but my point is that if I spin up a new container with something in it, I want to be able to have DNS registration occur automatically so that I’m not having to go update DNS entries somewhere.

A simple solution would be `dnsmasq` which provides DNS and DHCP, but it cannot be used on a public network. More complex setup would be ISC DHCP server that maintains a dynamic subdomain in BIND.

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#22
post #14

My router (runs Tomato, but I think DD-WRT is the same) automatically puts host names into its DNS server; I've never had to do anything. Host names with spaces, etc (e.g., DNS non-compliant) don't work, but otherwise it Just Works. Edit: language

I’ve got all UniFi gear but I believe it works the same. Where that doesn’t work is when using containers.

Thinking "aloud" here, but you might be able to get something like this with the macvlan network driver with docker. On FreeBSD I'm able to use a bridge interface that has a VLAN interface as a member (e.g. bridge10 with vlan10), and then have my jails create a vnet interface within that bridge. To the rest of the network it looks like yet another host (including showing up in Unifi).

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#23

Earlier quoted context omitted.

BIND provides DNS that just works. :)

Agreed, but my point is that if I spin up a new container with something in it, I want to be able to have DNS registration occur automatically so that I’m not having to go update DNS entries somewhere.

PowerDNS lets you do that (if you run it against a SQL database), or CoreDNS/etcd for simple stuff.

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#24
post #21

Earlier quoted context omitted.

Agreed, but my point is that if I spin up a new container with something in it, I want to be able to have DNS registration occur automatically so that I’m not having to go update DNS entries somewhere.

A simple solution would be `dnsmasq` which provides DNS and DHCP, but it cannot be used on a public network. More complex setup would be ISC DHCP server that maintains a dynamic subdomain in BIND.

>ISC DHCP server that maintains a dynamic subdomain in BIND

This is what I do. I don't remember setting it up being particularly complex

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#25

I’m in the process of building out a smallish home lab, with most things running in containers, and one of the things I wanted was dns for my internal things that Just Worked. It seems this is still harder than it needs to be. I started looking at Consul + Traefik, but the latest version of Traefik seems to have gotten significantly more complex for simple use cases. I’ve since started looking at Caddy, which seems f…

I'm using dnscrypt proxy with as filtering and some local DNS config, configured with dnscrypt server running on my VPS. It is running on pi-zero (old $5 one without wireless), a bit slow (50ms query), but works fine, especially with caching

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#26
post #6

A little bit of docs would help. Not sure what a node is here, and what is mDNS doing. Seems like the perfect thing for me (I run a stupid dual-traefik setup that does TLS SNI negotiation for me that I want to get rid of), but I can't figure out what is this.

very very fair. mDNS is just the method of communicating what traffic should be sent where. The "switchboard" listens for mDNS broadcasts that tell it what services want traffic routed to them under what conditions. A "node" (which was a bad choice of words) is the other side of that, a program broadcasting one of those mDNS resources (e.g. send traffic that's been sent to the domain "example.test" to this machine on…

How does it work with LetsEncrypt? I always thought you need to be public in order to get valid SSL certs. How does LetsEncrypt work with mDNS?

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#27
post #18

I’m in the process of building out a smallish home lab, with most things running in containers, and one of the things I wanted was dns for my internal things that Just Worked. It seems this is still harder than it needs to be. I started looking at Consul + Traefik, but the latest version of Traefik seems to have gotten significantly more complex for simple use cases. I’ve since started looking at Caddy, which seems f…

The simplest: shared `/etc/hosts`. And container hint: you can bind mount individual files as volumes.

Also cool is that you can bind mount the same sqlite backing db file into multiple containers.

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#28
post #14

My router (runs Tomato, but I think DD-WRT is the same) automatically puts host names into its DNS server; I've never had to do anything. Host names with spaces, etc (e.g., DNS non-compliant) don't work, but otherwise it Just Works. Edit: language

I'm pretty sure this is more feature rich than dnsmasq, but the golang ipkg on the latest OpenWRT release is 99MB. My overlay filesystem started at less than 24MB. This software not for users like us. Perhaps someone will implement equivalent functionality using C or Python libraries for those of us that run by choice in a resource-constrained or embedded environment.

That's going to be the golang compiler - you can cross compile static binaries from your PC that will run on ARM. The final binary size should be a few mb.

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#29
post #27
post #18

Earlier quoted context omitted.

The simplest: shared `/etc/hosts`. And container hint: you can bind mount individual files as volumes.

Also cool is that you can bind mount the same sqlite backing db file into multiple containers.

That seems dangerous? How can it be so? Surely multiple instances of SQLite shouldn't read the same backing file..

Re: Show HN: Switchboard – A mDNS based reverse proxy for personal infrastructure

#30
post #29
post #27

Earlier quoted context omitted.

Also cool is that you can bind mount the same sqlite backing db file into multiple containers.

That seems dangerous? How can it be so? Surely multiple instances of SQLite shouldn't read the same backing file..

The whole job of sqlite is to handle the locking to keep such accesses safe.
Post reply on HN