I’ve been wanting to get into self hosting for a long time and messed about a bit with setting up a nextcloud. But while I am reasonably well versed in linux and programming all things to do with the internet are quite confusing and mostly after reading blogposts and the like I am feel like I am missing so much knowldedge. From why people use traefik, how and why to use docker containers, what settings to change on the router, how to connect and setup the domain, and probably most importantly how to do this safely. Is there a good book or site that explains these more basic things?


Following because I am really a beginner myself. That said, I have been self-hosting a dozen or so services for about 2 years now. It is very intimidating to begin.
A docker container is basically a sort of virtual machine stripped down to what is precisely essential for a given container. That means that apps running in docker are repeatable and will run identically on any hardware and software.
When it comes to networking, you can choose to have services exposed to the internet or not. If they are not exposed, you can only access them over a local network. That might be fine for a nightly backup or HomeAssistant that’s only operated locally. It’s a good place to start.
You can also use a certain type of VPN to create a virtual local network. That allows you to access your home server from any connected device. That’s what I do, using Tailscale. It is fine if you are only connecting to the server from a limited number of devices, since each one will need to be logged in to the same network.