I’ve never had so much fun self-hosting. A decade or so ago I was hosting things on Linode and running all kinds of servers for myself but with the rise of cloud services, I favored just giving everything to Google. I noticed how popular this community was on Reddit/Lemmy and now it’s my new addiction.
I’m a software engineer and have plenty of experience deploying to AWS/GCP so my head has been buried in the sand with these cloud providers. Now that I’m looking around there are things like NextCloud, Pihole, and Portainer all set up with Cloudflare Zero Trust… I feel like I’m living the dream of having the convenience to deploy my own services with proper authentication and it’s so much fun.
Reviving old hardware to act as local infra is so badass it feels great turning on old machines that were collecting dust. I’m now trying to convince my brother to participate in doing hard-drive swaps on a monthly basis so I have some backup redundancy off-site without needing to back up to the cloud.
Sorry if this feels ranty but I just can’t get over how awesome this is and I feel like a kid again. Cheers to this awesome community!
EDIT: Just also found Fission and OpenFaaS, selfhosted serverless functions, I’m jumping with joy right now!
Is there a specific part that you’re having trouble with? Is it more how it works under the hood, or more about using it to spin up containers? I can try to answer any questions and post some how tos for you.
I think I just need a general overview. Something about the concept isn’t clicking for me, and it makes it hard for me to learn how to use it when I fundamentally don’t get it. Is there a really good “Introduction to Docker and the tools people use with it” that I haven’t found?
I think the real benefits of Docker don’t become unquestionably obvious untill you’ve ever tried to manage more than one installation of some kind of server software in the same machine and inevitably learn the hard way that this comes with a lot of problems and downsides.
So far I’ve avoiding learning about Docker by just buying a new old end-of-life Chromebook when I wanted to run anything. Works pretty well, except for the giant pile of Chromebooks behind my TV.
Say you install with apt, and the app needs a dependency that breaks your setup. You use docker to utilize your os, but containerize dependencies. You can also better organize which containers use your computer’s network, and which use a virtual network where you can redirect an incoming port to avoid conflicts.
Containers are like VMs, but for an application instead of a whole OS, though you can put multiple apps in one container. Good for if they need to share files.
For a more visual approach, look into Portainer. It gives you an admin page you can open in your browser to manage docker containers.
I actually have Portainer set up and running, and I even spun up a few simple containers in it. Unfortunately I did so by following a guide to complete a specific task. I completed the task successfully, but now I have a Portainer install that I don’t understand in the slightest, and don’t know how to update it or any of the containers in it, or really do anything that wasn’t covered in the guide I followed (which I now cannot find). I found a YouTube video that tries to explain Portainer, but I don’t know the terminology of Docker enough to understand what they are saying, and I haven’t found a Docker video simple enough to bring me up to speed.
Most of what I learn comes from watching videos, and when I don’t understand a term I pull up the docs and search for it. Super useful in expanding your understanding of a tool.
Docker docs in case you’re feeling lazy.