I’ve cancelled my subscription yesterday, conveniently it was about to renew at the end of the week, so I have a few days to migrate from Proton, here’s what I’m thinking of, but I’d love to hear what other people are switching to
I’ve cancelled my subscription yesterday, conveniently it was about to renew at the end of the week, so I have a few days to migrate from Proton, here’s what I’m thinking of, but I’d love to hear what other people are switching to
Running apps directly on Linux is like cooking in a shared kitchen where everyone shares the same spice rack. If one app needs an updated spice that breaks the recipe, your whole kitchen suffers.
Docker is like giving every app its own private kitchen pod with all its exact ingredients pre-packaged inside. Nothing leaks out, nothing interferes with the rest of your system, and if an app breaks, you just throw the whole pod away and start fresh without touching your main computer.
Once you get used to docker, you can stand up 20 apps in a night with standard configs and it all just works.
Later on, if you start really homelabbing it, you can stand up 3 small computers and cluster them to keep a copy of each container you’re using up. If one of the boxes go down, they just shuffle and start the container on other nodes.
Agreed on all of this. I run docker on one of my PCs and have multiple containers running. But I didn’t know you can cluster multiple PCs to run a copy of the containers and I was just wondering about a week ago if that’s possible. Would you have a resource on how to set up a 2nd PC to do this and cluster with my server?
I don’t have a known good resource, but you should look into K3S. https://docs.k3s.io/
The documentation is very dense, I fear. I would probably go hit youtube search for “k3s cluster” and find a beginner that doesn’t annoy you too badly.
The general path you’ll have to do is:
Translate Configuration: Convert your docker-compose.yml settings into Kubernetes YAML manifests
Install k3s
Map Storage and Secrets. Replace local Docker volumes with PersistentVolumeClaims (PVCs) and .env files with Kubernetes Secrets and ConfigMaps.
Deploy and Verify: Apply your manifests using kubectl apply and verify routing through the built-in Traefik ingress.
Then you can install and add a new node.
depending on how you set it up, it’ll move the containers around for you automatically.
Note: all your k3s nodes need to be very close network wise. you can dump one at a friends house and make a cool geo-diverse setup, they need REALLY low latency
Whew, OK that’s more involved than I thought it would be. I will try to find time on the weekend to mess with it. Thanks for the info.
i’d install k3s on the two boxes and just stand up a super simple container that doesn’t need storage, think ntfy or something of the like, you can do that quick. getting shared storage up is a but more difficult :)
OK, I will give that a try for now. Sounds a little quicker. Then when I have more time I can go the other route you mentioned. Thanks again.
You need docker swarm for that, it’s pretty easy to setup and it works as an extension to docker.
If you selfhist eg. DNS, or another static app that you want highly available but from a single IP, you can use keepalived directly on the host and this allows you to have two machines that share a third virtual IP, and if server A fails, the IP moves automatically to Server B and you don’t even notice that the server failed, because everything failed over to the other server.
Awesome, I will be looking into setting this up tonight. Thanks for the info.
First, this makes more sense, thanks for the write up. Second, I really wish I knew this stuff when I went head first into fuck Microsoft mode (I have a feeling I’m gonna be resetting my main PC at some point to do it right, and really dreading that). I have an old laptop returning to me that I’m gonna throw Nix on and fuck with it.