this post was submitted on 01 Dec 2023
96 points (94.4% liked)

Selfhosted

39435 readers
11 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
 

Hi, I know this topic has been talked about 70 thousand times but I’m still not sure.

I have home server on an intel NUC behind the ISP router. On it I have the standard arr apps, jellyfin, pi-hole etc etc. I would like to access them through a domain rather than an IP. So I set them up in docker, behind traefik, behind authelia and behind cloudflare. I am the only one that uses it.

Now, I’m worried about the security of it all. I’ve been searching here and there and I’ve read about cf tunnels, wireguard server, vps, vlan, OPNsense etc etc. I still don’t know what would be the most secure. Should I just stay with what I have?

EDIT: I'm not behind CGNAT

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 20 points 11 months ago (5 children)

Check out Tailscale. They have 20 machine limit on the free plan. It runs on wireguard and is pretty secure.

[–] [email protected] 16 points 11 months ago* (last edited 11 months ago)

Tailscale Free has a 100 device limit.

Virtually its only limitation against the paid plans is the user limit. (3 users)

And network logging because it's heavy on their servers.

Also the user limit only applies to your account. You can share devices/etc with other accounts, as many others as you like.

[–] [email protected] 8 points 11 months ago* (last edited 11 months ago) (2 children)

And there's an OSS control plane replacement called Headscale although I don't know what's involved in using it. Researching and implementing it is my backup plan for when Tailscale turns to shit.

E: Just briefly parsed their docs, deployment and usage seem pretty trivial. There's no need to use forks of the clients either. You can give your Headscale url to the Tailscale clients on login and you're good to go.

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

I am big into self-hosting and would be happy to run my own Headscale server (I have actually) but imo it's not worth the effort.

It can be done but it requires a lot of effort and consideration to ensure the relays and routing work for when your clients are in challenging NAT scenarios. And the user experience is not as good.

Instead what I do is continue to use Tailscale but I use the Tailnet Lock feature to give signing authority to my own specified devices so any new devices must be signed off by one of those other devices.

This effectively eliminates the last point of trust where you had to trust tailscale's servers to manage authorization. The result is you don't have to worry about trusting tailscale at all, the entire system is zero trust.

The catch is if you lose those devices and the recovery keys you lose the ability to trust or add to your tailnet and your only real option is to delete all the devices and start fresh.

They also have the option to send a recovery key to their servers when you enable Tailnet Lock so support can rescue you in that scenario, but I think if you are using this feature on the first place it's because you don't want to do that so I imagine most choose not to lol

I linked to their blog post above because I think it explains the feature well. If you just want the docs they are here

[–] [email protected] 3 points 11 months ago (1 children)

Setting up headscale isn't too hard. But last time I tried, connecting the clients to it didn't work properly (on mobile). Since they are using the regular tailscale clients, they don't have much control over that.

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

I gotta try. I'm planning to switch to it anyways. The Android client is open source so if something has to be changed it can be contributed or forked if the contribution isn't accepted.

[–] [email protected] 4 points 11 months ago

Install tailscale from F-Droid not Google Play. I had trouble setting up custom server with Google Play version.

[–] [email protected] 8 points 11 months ago

Tailscale is awesome, and super easy to set up. I think the free tier allows up to 100 devices now!

[–] [email protected] 6 points 11 months ago

Wireguard itself works software far, thanks anyway :)

[–] [email protected] 3 points 11 months ago

Tailscale is amazing, I work with a small company and we were battling with our IT contractor to have a VPN running for remote work.

After a while of things not working as it should I just set up tailscaled because I was using it with my home server and it just works.

We are now on a paid plan and everyone else is using it when working remotely.