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!
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
Fewer Letters | More Letters |
---|---|
CGNAT | Carrier-Grade NAT |
DNS | Domain Name Service/System |
IP | Internet Protocol |
NAT | Network Address Translation |
SSL | Secure Sockets Layer, for transparent encryption |
SSO | Single Sign-On |
VPN | Virtual Private Network |
VPS | Virtual Private Server (opposed to shared hosting) |
7 acronyms in this thread; the most compressed thread commented on today has 15 acronyms.
[Thread #33 for this sub, first seen 13th Aug 2023, 06:05] [FAQ] [Full list] [Contact] [Source code]
Good bot.
I run Wireguard VPN on my router that's using OpenWrt
I just have all my services exposed through reverse proxy with whatever authentication they have on their webpage. I see most people using VPN which I know is the more secure option but I like the zero setup of just typing in the name of the service I want to go to and just having it work. Is there a better way to secure this?
Do authentication in the reverse proxy if you can (e.g., basic auth or forward auth like Authelia, the second also has the benefit of SSO).
add fail2ban, so they cannot brute force the web interface.
I've tried quite a few services and eventually I mostly settled on running my own WireGuard VPN.
But honestly these days I just use tailscale.
The convenience is really unmatched, and my only qualm was that you had to let them hold the keys in exchange for the convenience of a cloud service to manage everything.
But now with Tailnet Lock you can designate devices as signing nodes which effectively means those devices now hold your keys and tailscale really has no disadvantage over setting up your own WireGuard server manually.
While also being loads easier and more feature-rich.
If anything the user-friendliness probably ultimately makes it more secure than for inexperienced users to try to set up something similar manually.
Their free plan is also quite comfortable with 3 users and 100 devices and virtually all of the features available in the premium/enterprise plans.
Honestly I was very wary of them at first but I've really grown to appreciate tailscale to the point I probably sound like a shill
I stay away from anything not selfhosted. Any third party, no matter how good and friendly it seems now, will eventually screw you once they get big.
Besides, even if it doesn't, I don't want them to have access to my data.
You can use headscale with tailscale if you want to self host it. Headscale is a community made server implementation for tailscale
Headscale is a community made server implementation for tailscale
Well, it was until they hired the guy who made it. He's still doing it but, technically, it's being made by Tailscale themselves now ;)
It still says
This project is not associated with Tailscale Inc.
on their GitHub
It's not an official Tailscale product.
I use duckdns and wireguard and love it. Sometimes I have to reconnect to VPN (double tap notification button), but its enabled all the time otherwise. I cant run it alongside payed VPN, but maybe selfhosted wireguard can be run behind payed VPN service.
Only downside for me is lack of ssl certs. Im using letsencrypt and have to accept the risk quite often hehe. Tried to install cert on android, but wasnt successful. Thinking to buy domain or whatever is needed to remove that annoying warning. Still noob, so dont know whats best for me, but wireguard is serving me fine
You can use DNS-01 with duckdns to get certificates! Here are the docs on how to set that up with traefik.
About the wireguard but no other VPN - that's a phone problem, as it (at least android) only allows one VPN type connection at once. But one could set it up in a way that uses wireguard on the phone to connect to your home network and than use a proxy running there that does the other VPN connection. Also routing all mobile traffic using wireguard on a foreign WiFi network (or something) through your home network is basically the same as using a commercial VPN, if the goal is that the 'owner' of the foreign WiFi does not see your traffic.
Thanks a lot mate, It sounds promising. Well I got certs with duckdns in npm somehow, but they are making problems on android. Im kinda lost so maybe I did something wrong. Ill deffo check DNS-01 and that link and do another attempt.
Im not op, but using both VPNs on phone at the same time is usefull just to avoid switching between them when you want privacy or you want to access home services (I guess). I could benefit from that as well, but have higher priorities right now
I expose my services to the web via my own VPS proxy :) I simply run only very few of them, use 2FA when supported, keep them up to date, run each service as rootless podman, and have a very verbose logcheck set up in case the container environment gets compromised, and allow only ports 80 and 443, and, very importantly, truly sensitive data (documents and such) is encrypted at rest so that even if my services are compromised that data remains secure.
For ssh, I have set up a separate raspberry pi as a wireguard server into my home network. Therefore, for any ssh management I first connect via this wireguard connection.
I've been considering this setup. Are you using a VPN to connect the VPS and your home network?
Currently I have a bastion host running a hardened distro, which establishes a reverse proxy tunnel to its ssh
port via my $4/mo VPS using rathole
, an excellent reverse proxy utility I switched to from frp
.
I also maintain a Tor hidden service pointed at the bastion host's ssh
port and another on a different internal host. These are so that I can still get in if the bastion host, my VPS, or certain aspects of networking are down for some reason.
Eventually I will implement port knocking / single packet authorization by deploying fwknop
on some or all of these services to further enhance security.
I use ocserv to provide a Cisco AnyConnect compatible VPN server. There's an SSL proxy running on port 443 of my gateway so the VPN is only accessible using the right domain name, and the server is running in a Docker container.
Main reason I go for ocserv over OpenVPN or Wireguard is when I used to travel to China for work I found it was able to get past the Chinese firewalls. No idea if it still holds true but a few years ago it was fine.
Https and a server. If hosting at home just leave a high numbered port open. If on a vps then you should be able to use any port you want.
I don't have a lot of time running my own homelab so I currently use Tailscale
Did run a VPN on my firewall which broke for whatever reason.
For access to my *arrs I run a reverse proxy and authelia for access regulation.
Cloudflare tunnel works for my jellyfin server.
My upload speed isn’t that fast (50 mbps) so tunnel doesn’t work so well for large bandwidth applications.
Very true
I picked a random port number on my router and forward it to my main machine's ssh port. If I need to access another port without using zerotier or tailscale, now I have an option to use ssh port forwarding.
I also have a bastion server on a vps provider because my ISP would often randomly assign me behind CGNAT until I restart the router, that way I can still access the ssh port even when the router doesn't have a public IP address.