Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
I did this for some time. But now I don't want any ports open at home.
That's why I have a rented VPS that runs Traefik (a reverse proxy). This VPS has a VPN connection to my home net and is behind Cloudflare DNS. This is how I can safely expose services (even in my home net) to the Internet without forwarding any ports.
Of course those services need to have some kind of authentication.
If you've set up a VPN to your home net then why not run that VPN from the devices you use to access the reverse proxy? With wireguard at least this is quite easy.
That way you don't have to expose anything you just run a VPN with the reverse proxy in it.
My setup is
Internet <---> Reverse Proxy (on VPS) <---> OpenVPN Server (on VPS) <---> VPN Client (home router) <---> local stuff...
I don't understand what you mean? Generally I don't like to require a VPN to access stuff. My use case is, when I'm away I'd like to be able to access things from e.g. a public device, a friends laptop, etc. That's why I'm not using a VPN to access things.
The VPN site-to-site connection is mainly responsible to make network shares available on my Nextcloud instance and provide access to other (local) services via the reverse proxy
Currently I'm rethinking the VPN, but I don't think I can ditch it in favor if e.g. Cloudflare Access tunnels (too unflexible, limited compatibility, or too much hassle to keep everything configured correctly).
Also, I don't use VPN to authorize requests. I use Authelia to authorize users with Free-IPA as directory in the backend.
I know, this might be overkill for my "simple" use cases, but I like to play around with these kind of enterprise-adjacent solutions.
I suppose it depends on what you want to do. I'm currently only hosting stuff for my own purposes so it is fine if I can just access it from devices I trust.
My setup is more like
Wireguard (on Phone/Laptop/etc) <--> Wireguard (on RaspberryPi) <--> Reverse Proxy (on RaspberryPi) <--> local stuff (mostly in docker on RaspberryPi)
The advantage is that the only service accessible from outside is Wireguard, so even if some service running behind the reverse proxy is insecure I'm still the only one with access.
Obviously one of the disadvantages is that I can't access it (easily) from some random device, but I can access it from my phone and in an emergency I do have keys that I can use to install wireguard somewhere else, but I would require admin rights to some device to do so.
Ah yes. I've been there. But since I've onboarded my family onto my domain and they use a few of the services I needed a low but still secure barrier of entry. Hence the more "public" approach.
Damn thats top security right there.
If this was "top security" I'd need to change jobs, haha! I just hope it doesn't fall apart and nobody breaches it too easily.
Currently there are probably a lot of attac vectors available, that I'm not even aware of. I just have to hope, that my stuff won't become interesting for a bad actor.
Nothing to see here, move along. I have a few locks, not worth it... :D
I've been considering doing the same thing, but i'm not sure there's much actual benefit over feeling like there's more separation, because if someone accesses the vps, they get direct access into your server at home. What's your opinion?
Yes, definitely. If someone breaches the VPS, I've lost. That's why it's rather locked down using strict firewall rules, pubkey auth, fail2ban, etc.
No matter what you expose to the Internet, you're accepting a risk.
If I had to start over, I'd probably set up some form of cloud infrastructure with maybe Cloudflare for access control and security or whatever. My system started when I didn't have a lot of funds. So everything is kind of cobbled together.
The VPS is/was for hosting a few game servers and now I'm too lazy to migrate away, haha.
At least everything is based on configs that I keep in Git repositories. But I digress (again).
Yeah, same. I have a small server that runs Wireguard and I only expose services on any device on the local Wireguard interface. That way I can safely access stuff in my home net from anywhere.