this post was submitted on 30 Jun 2023
15 points (85.7% liked)

Selfhosted

40736 readers
482 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 2 years ago
MODERATORS
 

A few of my friends experienced the glory of PiHole in my home network and asked, if I could install such a thing in their networks as well.

Which I obviously could, but none of them are interested in updating/maintaining such a device. So I would like to collect some suggestions on how to deploy such a box with (ideally) zero interaction from my side until the end of times.

My hardware platform of choice would be a cheap thin client (Futro s920 or something like that) running Ubuntu with unattended updates enabled.

Pihole itself seem to offer an auto-updater, but I'm not sure how stable that runs in the long run - maybe Docker would be better suited here?

top 19 comments
sorted by: hot top controversial new old
[–] [email protected] 19 points 2 years ago

If they do not want to maintain and update a pihole, it is better to just use public dns, like adguard.

[–] [email protected] 14 points 2 years ago* (last edited 2 years ago) (1 children)

I'd personally recommend AdGuard Home over PiHole, as it supports DNS-over-HTTPS and DNS-over-TLS out-of-the-box.

Honestly, if I was doing this, I'd probably run it on a VPS or my home server. I'd run at least two instances and configure their router to use them. You'd lose encrypted DNS, but it means they don't need a device on their local network.

I would like to collect some suggestions on how to deploy such a box

Someone will have to do maintenance eventually. Configure SSH securely (Ed25519 key, password authentication disabled), and SSH in and update it once per month? Charge them a small fee, or do it for free in exchange for them doing something nice for you.

Auto-upgrades are scary since there can be breaking changes between versions.

My hardware platform of choice would be a cheap thin client

Why not a Raspberry Pi? The supply chain issues are clearing up.

You may want two so that there's redundancy and they don't lose DNS in case one dies. You can use something like https://github.com/bakito/adguardhome-sync (or the PiHole equivalent) to keep configs in sync across both.

[–] [email protected] 5 points 2 years ago (1 children)

Why not a Raspberry Pi? The supply chain issues are clearing up.

In the US it seems the supply chain issues are alive as ever. Most of the official resellers are sold out on anything but the Pico and Zero boards. Some do have 4B boards for sale if you buy their starter kit with them, increasing the price by $65 on canakit. The supply issues are definitely not resolved for home users no matter what the CEO wants to say.

[–] [email protected] 3 points 2 years ago (1 children)

Ah, interesting. Thanks for the info. I had heard that the supply chain issues were clearing up, but admittedly haven't checked the stock levels myself.

You can get something similar, like an ODROID.

[–] ahoyboyhoy 1 points 2 years ago

I run pihole dockerized on Armbian for Rock64, those should be available.

[–] [email protected] 6 points 2 years ago

I would save myself the headache and point them towards adguard instead.

[–] gobbling871 4 points 2 years ago

This is the correct answer. Takes a little bit of tinkering to setup but it's free and works. Just make sure to change the default DNS endpoints from Cloudflare and Google to something more private.

[–] breadsmasher 3 points 2 years ago

You could charge a small maintenance contract to keep it up to date!

[–] [email protected] 3 points 2 years ago

Rent a cheap VPS, ask your friends to gobble up the 1-2 units of local currency per month. Run a DNS over HTTPS server on the VPS (Adguard Home can do it, I'm not sure about PiHole), then just use browsers that can use a custom DoH resolver.

Don't open port 53 to the public, that's just asking for trouble. The bonus with this is the adblocking is in use on the go as well, and you can use the same server yourself.

[–] [email protected] 2 points 2 years ago (1 children)

How about to set up a device that works locally at your friends' house as DNS server, but don't forget to install something like zerotier, so you can access it without setting up a port forward. With that, you can help them with the maintenance of their DNS server.

[–] NewDataEngineer 2 points 2 years ago

I would go a step further and use ansible to manage the devices. Set it up to auto update and you'll have basically no maintenance.

[–] [email protected] 2 points 2 years ago

There is always nextdns.io

It's set and forget. Works really well. The only reason I stopped using it was because I needed local dns re-writing and it makes sense to use AdGuard.

[–] outcide 1 points 2 years ago

If they are will mg to spend some money they could get Adguard Home appliance.

It’s basically a commercial Pihole.

https://adguard.com/en/adguard-home/overview.html

[–] francis 0 points 2 years ago* (last edited 2 years ago) (1 children)

Spitballing ideas:

  • ~Run PiHole on a public facing server/port. You'll probably need to plan out the security aspects of it, but then your friends could then just set their devices to use the PiHole DNS (much like how people can set their devices to use 1.1.1.1 or 8.8.8.8).~
  • Drop a Pi with PiHole in their network that is managed with some fleet/IOT management platform like Balena. That'll in theory get you PiHole running in a container, and you'll have a management platform to actually remotely connect to the Pi to manage it.

You may be already aware, but be mindful of the danger associated with having an ounce of responsibility for their DNS uptime. The bonus of option #1 is that you could also empower your friends to "bypass" PiHole should it go belly up.

Edit: Don't do #1 unless you can properly secure it.

[–] DesertCreosote 2 points 2 years ago* (last edited 2 years ago) (1 children)

DO NOT run a public DNS resolver. It'll get used as part of a DNS amplification attack, and your system will be used to DDOS somebody else.

The only viable solutions here are to either have OPs friends VPN all traffic through OPs network (there might be a way to use split tunneling to reduce total traffic used, though I'm just spitballing here), to deploy hardware locally on their network, or to use a public solution. Everything else is going to be a security risk.

[–] francis 2 points 2 years ago (2 children)

Thanks for the explicit mention, I should have been less vague with my "planning the security aspects" comment. I was thinking firewall rules would mitigate that, but could moot if the friends are on a dynamic lease.

VPN is a bit of a non starter since that would require installing and running a VPN client 24/7 on all devices, else you're dropping in a site to site VPN device on the network... At that point you might as well cut out the extra complication and just run PiHole on that point.

I actually learned about public AdGuard servers in this thread! I'd definitely lean that way if I were OP (because I personally do not want to field "the internet is not working" calls in the middle of the night).

[–] DesertCreosote 1 points 2 years ago

No worries, I just wanted to make very sure that the risks for #1 were properly understood.

VPN might be able to work with split tunneling, but I haven't tried it myself. It'd probably be more complicated than it's worth!

I'd also lean towards the public AdGuard servers in this case, for the same reason! I'm happy to field certain calls from friends and family, but I don't want to get the "my internet isn't working!" calls at 2am-- I get enough of those from work! 😁

load more comments
view more: next ›