this post was submitted on 09 May 2026
42 points (97.7% liked)

Selfhosted

59099 readers
876 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

What is everyone else using for VPN solutions and what are the trade offs?

I want a VPN to access all my personal devices and use services like Syncthing. I use it on my phone so it can't use ungodly amounts of idle data.

I looked at Netbird but found the idle data usage almost 1GB per few days using JetBird with Lazy connections. I tried the default app but it makes me SSO login every day or two, it wouldn't stay connected, and it still used a reasonable amount of idle data.

I looked at Tailscale but I'm not going to lock access to all my devices behind a Google account login or some other third party service login for no reason. It seems like hosting my own auth server is too much additional risk as well. I tried self hosting headscale which worked well except that I have no decent front end to easily add devices. I have to log into a terminal, then execute docker commands which was a huge pain in the ass. I didn't even touch on any of the firewalling or routing that can be done because it was so much more complex in headscale then in a web interface. I tried hosting two or three headscale front ends but couldn't get one working that supported most of the available feature set. Usually I was given generic connection errors with no clear way to diagnose or clear troubleshooting steps so after a few hours I moved on.

Edit 2026-05-10:
Thank you for all the feedback.

Will try disabling expiry on SSO login for my phone via Netbird official app.
Will look into Pangolin.
May try Headplane UI for Headscale again though lower priority than Netbird because it's fully open source.

all 37 comments
sorted by: hot top controversial new old
[–] mko@discuss.tchncs.de 1 points 1 day ago

As with many others here- Wireguard and public IP. Add to that I can choose between split and full tunnel to either use the connected network for anything not on my network (split) or have everything routed through the network (full tunnel).

[–] oddsys@lemmy.world 3 points 1 day ago

Wireguard + VPS. Each device connected can choose to route all their internet traffic or only VPN services traffic.

[–] Reannlegge@lemmy.ca 19 points 3 days ago (1 children)

I just use wireguard, no there is no simple GUI or anything like that. I also run it bare metal no docker.

It currently sits on a pi zero 2, it has just enough power to use my pihole DNS’s. I plan on moving it to a pi 5 whenever I get around to building my firewall.

[–] Eldaroth@lemmy.world 13 points 3 days ago (2 children)

Well there is wg-easy which comes with a very decent GUI imho

[–] IratePirate@feddit.org 1 points 2 days ago

This. Onboarding new people / devices on the fly (including QR code generation) is just so simple with wg-easy.

[–] Reannlegge@lemmy.ca 2 points 3 days ago

Cool did not know that I will have to look into that when I set up my pi 5 firewall.

[–] silenium_dev@feddit.org 4 points 2 days ago* (last edited 2 days ago) (1 children)

I'm using headscale with headplane as the UI, looks like tailscale, is feature complete (at least it says so on their GitHub readme). Headplane even integrates with an external OIDC provider (I self-host Keycloak for centralized identity management across my services).

[–] eightys3v3n@lemmy.ca 1 points 2 days ago

Ahg. Okay. I might try headplane again :(

[–] Shimitar@downonthestreet.eu 10 points 3 days ago (1 children)

If you have a public IP just use wire guard. If you don't have a public IP, rent a cheap VPS and use that as entry point, setting up one wire guard from home to the vps, and the other from your phone to the vps.

[–] eightys3v3n@lemmy.ca 1 points 2 days ago

I have a public IP and DNS, but as it's a home lab I need the connectivity of other devices to not depend on a single device (VPS or otherwise). I frequently end up with broken things for short periods and I appreciate Everything not being broken when one thing is.

Also, if I put it on my SOs phone, connectivity needs to never be broken for her even if she can't get to one or two devices that are broken.

[–] Zwuzelmaus@feddit.org 8 points 3 days ago

Wireguard and their official Android app. My home router acts as the WG server and it does also the daily dynDNS refresh, so I can pretend having a fixed address.

[–] KlavKalashj@lemmy.world 6 points 3 days ago (1 children)

I have a wireguard server on my opnsense router. My phone and my wifes phone is permanently connected, doesnt matter if we are on home wifi or not, we just leave it on. Very basic, very stable.

[–] rumba@lemmy.zip 4 points 2 days ago (1 children)

I've been doing always on for a while. The biggest problem I'm having are reconnection when moving fast. When I'm doing 60 miles an hour through hilly areas, I'm changing cell phone towers every minute. Every time that ip changes it has to renegotiate. It works well if I'm streaming things. But if I'm actually in a meeting or talking to someone directly over IP, the reconnection causes stutters and glitches pretty bad.

[–] KlavKalashj@lemmy.world 2 points 1 day ago

Oh, wow! I've never encountered that, whatan annoying issue. "Guys I cany drive any faster, my phone won't keep up xd

[–] K3can@lemmy.radio 4 points 3 days ago

I use Wireguard.

For my phone, I use the "WG Tunnel" app: https://github.com/wgtunnel/android

It's nice because it'll automatically enable/disable it as I move between networks.

Before that, though I used the official client and I just kept it on 24/7. It's not like it uses extra data or battery or anything.

[–] Cyber@feddit.uk 1 points 2 days ago

I have pfSense as my firewall, running OpenVPN and I just connect when I need to.

Phone's running trackercontrol all the time to block stuff and I've disabled most of google on it, so I'm not too concerned whilst I'm out and about... most apps I use are local-data anyway, ie CoMaps not google maps, etc... so I'm using ~1GB/month.

Syncthing only syncs on known wifi, so when I'm home it updates with a NAS and 2 laptops (and photos with 2 tablets), so there's always something it's syncing with.

[–] hellmo_luciferrari@lemmy.zip 1 points 2 days ago

I use Wireguard. For a GUI I use https://github.com/ngoduykhanh/wireguard-ui since I'm not running Wireguard in a container.

[–] prenatal_confusion@feddit.org 3 points 3 days ago

Pangolin or netbird on a vps and the rest is easy.

[–] alexquiniou@lemmy.zip 3 points 3 days ago

Truenas + wireguard + wg-easy. Quite easy to setup. Official apps that exist on any os you can think of. And stable. Turn it on and forget.

[–] spaghettiwestern@sh.itjust.works 3 points 3 days ago* (last edited 3 days ago)

I'm like you and did not want any kind of corporate entity involved in my network if it could be avoided. I settled on Wireguard and rather than deal with management constantly I set up 3 times as many peer configurations as initially needed. When a new device is added I just copy a spare configuration to the device and change the name of the config on the server. Tasker is used to connect the WG tunnel on our phones whenever home wifi is not connected. The open port on the router looks closed to the outside and only responds when the correct key is received so there's no known way to breach the network.

Everything from my phone is run through WG and it only uses a tiny amount of additional mobile data. Syncthing adds nothing of consequence except when syncing big files. Battery life is fine even with both WG and Syncthing running.

Once set up it's required zero attention or maintenance.

[–] Sickday@kbin.earth 3 points 3 days ago (1 children)

personally I just use headscale with tailscale clients and mullvad vpn via wireguard on the control server. there's a bit of systemd magic required to make sure wg-quick starts before headscale does. dns is setup via a pihole device and I just point headscale's config at that device for dns. it's a pretty simple setup, but I have no issue doing everything via cli so this works well for me.

[–] eightys3v3n@lemmy.ca 1 points 2 days ago (1 children)

:P
I hadn't even considered running not one, but three VPNs and chaining them together for different functionalities.

[–] Sickday@kbin.earth 1 points 2 days ago (1 children)

I'm only using 1 vpn provider (mullvad) and using a wireguard config for 1 location. Headscale provides my mesh network controller, and pihole is a dns server. Not sure how you came to that conclusion

[–] eightys3v3n@lemmy.ca 1 points 1 day ago (1 children)

How are you using Headscale, with a thirdparty VPN? I can understand Mullvad might have a Wireguard config option?

[–] Sickday@kbin.earth 3 points 1 day ago (1 children)

You register a new device on your tailnet and advertise it as an exit node. When other devices on your tailnet use the exit node all of their traffic goes through that device. If that exit node has a wireguard connection setup, all other devices using it will also use that same connection. The only tricky part was making sure wg-quick’s systemd service starts before tailscaled’s does (mentioned that in my op).

Tailscale offers this as a service but I dont use tailscale directly. I basically set this up manually and use headscale as my control server instead of using tailscale’s control servers.

[–] eightys3v3n@lemmy.ca 2 points 1 day ago

Okay, now it makes sense. For my purposes, I would only teed the headscale part for inter device communication.
It makes sense though, rather than paying for a VPN for multiple devices (on those that charge per device) I could route traffic via tailscale / wireguard to a single VPN'd device.

[–] Shipgirlboy@sh.itjust.works 2 points 3 days ago

I use NordVPN and it's nifty Meshnet feature for these kinds of things. Once setup, any of my devices that have the NordVPN app running and have Meshnet enabled can access my services, which at the moment is really only Immich and Jellyfin. I could even grant other Nord users access to it without much hassle.

[–] mhzawadi@lemmy.horwood.cloud 2 points 3 days ago

So I have a tinc mesh for my house, VPS and dedicated server. I have started using pangolin for access to things from the internet, I have also used pangolin as a VPN into my networks from my phone

[–] stratself@lemdro.id 2 points 3 days ago

Headscale is best used with the CLI. If you host a UI it's only for convenience, and you need to keep track of the Headscale version it supports. The Discord guild can help you debug things.

Can Tailscale be logged in from multiple credentials? If so try having a few of them instead of one for redundancy. Also maybe look into hosting a reliable and simple IDP like Kanidm for Tailscale.

[–] Auster@thebrainbin.org 1 points 3 days ago

I use Proton's VPN.

Issues I've observed: timeouts and extra (sometimes excessive) "are you human" verifications, extra step on troubleshootings if a site doesn't load properly or at all, sites load slower, connection may not even work when it's morning in Russia and China or if the server is in a country being bombarded (e.g. Iran's former allies) or possibly also going through some natural disaster, some sites may hardcode your VPN region to your account if you stay in a given IP too much (e.g. Crunchyroll), and some sites block VPN IPs they know about (e.g. Nijimiss.moe, part of the fediverse, and GameFAQS).

[–] Onomatopoeia@lemmy.cafe 1 points 3 days ago* (last edited 3 days ago) (1 children)

Sounds like you're talking about a Mesh VPN.

Syncthing doesn't need a VPN to function - in fact you're better off not using a VPN as it's own rules will see the VPN as a LAN connection and sync data across it when your Syncthing rules exclude using your data connection. Maybe that's what you saw with Netbird's data usage. I'd be really surprised if Netbird itself used any significant data.

I have about 20 sync jobs per phone - some are allowed to use cell data (photos), others aren't. When I enable Tailscale on my phone, Syncthing will try to sync all the jobs because it sees the VPN as a LAN.

I run rooted and use a firewall and block VPN there for Syncthing to prevent this.

[–] eightys3v3n@lemmy.ca 1 points 2 days ago

Syncthing actually isn't running over VPN usually; it's open to the internet. But the dozen or more other things I host are not open to the internet. Immich for example. And in some cases when Synctding can't connect I appreciate having the VPN as a backup.

Yes, mesh because I don't want to have to setup routes through a single device when I add a new one and I don't want to be dependent on one IP.

[–] Decronym@lemmy.decronym.xyz 1 points 3 days ago* (last edited 1 day ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
IP Internet Protocol
NAS Network-Attached Storage
SSO Single Sign-On
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)

6 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #280 for this comm, first seen 9th May 2026, 18:40] [FAQ] [Full list] [Contact] [Source code]

[–] magnue@lemmy.world 1 points 3 days ago

I use Nord for most things. My phone connects to my home server via tailscale and routes to Nord through there (just for adguard really). I also have mullvad which is only used for IPTV streaming / torrents / when I want to be a ghost.

[–] dihutenosa@piefed.social -1 points 3 days ago (1 children)

Nothing, mostly. Will use point-to-point Wireguard once I get around to setting up Prometheus ingestion.

What do you need a VPN for?

[–] eightys3v3n@lemmy.ca 1 points 2 days ago

Accessing my dozen services running on my server, plus accessing some other specific devices running in various other places I am not going to open to the internet. Media machine, a second server, laptop, router without opening it to the internet, printers, etc.

I don't care about the "make your traffic come from somewhere else", just the "all my devices in my network no matter where they are" bit.