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
Holy shit dude, that was actually very helpful! I'll need a few more go-throughs to fully grasp every piece here, but thanks a ton for writing it so precisely.
Based on this though, is there no way to have port-forwarding except setting it up explicitly in my router? I ask this because 1) in my personal setup, I'll be switching between wifi and mobile data quite often, and 2) I may end up on an institutional wifi after some time, in which case I won't have access to the router
You might want to consider setting up a VPN tunnel to your own network. Main benefit is that you can access your home network as if you were connected to it locally. Which makes switching between mobile data and WiFi a non-issue.
This requires some sort of VPN server and usually a single port-forwarding rule for the protocol which your VPN software of choice uses. For the simplest default configuration of OpenVPN this means setting UDP port 1194 to point to your OpenVPN server.
Generally, keeping things simple, there's two types of VPN you can set up:
It is a little more complicated than that, and there's more nuance to it, such as wether to user your own DNS server or not, but all that is best left to some further reading.
I've setup an OpenVPN server myself, wich is open source and completely free to mess around with. (Save for maybe some costs for registring your own domain or DDNS serviced. Those are all optional though, and mainly provide convienience and continuity benefits. You can definitely just setup a VPN server and connect with your external IP adress)
Or use Tailscale, it's quite easy and it's how I access all of my services
Sorry for the late reply, we had a yard sale today and then company this evening so I'm just getting back to the computer. God this feels like the longest I've been offline in like a decade! Anyway I'm glad it was helpful, I literally rolled out of bed and this was the first post I read this morning so I just started typing, I was a bit worried I might have been incoherent writing so much before I even had breakfast but hey if it came across then I'm glad I helped!
Happy to see others have already stepped in to answer your questions, as with most things there are multiple solutions to your challenges but the first goal is to understand what's going on so you know the right questions to ask. Get your basic setup in place, poke around to see how it all interconnects, and you'll start understanding how other things come in to play. The bit I mentioned about being able to direct your port 80 incoming traffic without affecting your web browsing from another computer (which of course ALSO talks on port 80) really tripped me up until I realized I was overthinking things, so I just trusted that it would keep working and eventually I did find the answers.
So as I mentioned, yep there really is a lot of information to digest when you're learning how networking works, but once you get some of these basics concepts down then the rest will start coming easier. A lot of what I have learned comes from taking a single piece, playing with it a bit to get the hang of essentially what it is doing without getting so deep that I'm overwhelmed, and then moving on to the next piece to see how they interconnect. If you do that long enough you'll start coming back to the first pieces and going deeper into them. Or you'll find some pieces that you can get by only knowing the basics and you'll never need to dig any deeper. The big thing is having an overview of how things connect to each other because yeah, you're going to want to try different things with your servers. Just wait until you build your first firewall with multiple internal networks and even multiple ISP connections (my home network has five local zones plus two ISPs -- just because I can!)...
Haha I think it's best if I stop running towards just getting my own server up and actually learn this stuff instead, regardless of how long it takes. I'll try to follow through on this, thanks again for all the help :D
Hey no worries, you'll get there. Just kick back and enjoy the ride, because its a lot of fun learning all this stuff!
Correct. What you'd need in that case is a reverse proxy like ngrok, which is a bit more difficult to set up.