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
people better get familiar with docker
Mind giving a bit of a breakdown of why? I’m new to Linux and heard a lot about docker (I think its like separate boxes for an apps?) after I switched and it just seemed too much at the time so I’ve put it on the back burner (was stotally new to terminal stuff).
I’m about to try rigging up an old laptop for self hosting and trying to learn. Was thinking of figuring out docker first before trying immich, keepass, calendar with calDAV and it’s all pretty overwhelming lol.
A piece of advice from someone who’s 3 years on Linux and still finds Docker a mess:
Try Proxmox. It’s a Debian-based server OS that is all about containers and virtual machines. It uses LXC containers and manages them in the same way you would treat a normal Linux install.
The interface may look a bit scary at first, but I promise this will be the only thing that scares you in the whole experience and it will take just a day or two to get used to it. I suggest finding simple “getting started” guides that will quickly get you up to speed. It’s easy, it just has too many buttons on the screen at once. Oh, and yeah - it’s fully graphical. No CLI unless you specifically want to.
After you figure out the interface, you’ll get an ultimate server solution - or an ultimate playground. Wanna test that thing? Spin up a container/VM. Screwed something up real bad? Destroy the container and get a new one. It takes two clicks, and you’re up and running again. You can easily back up your containers and VMs, so if you screw something up when actually hosting something useful, you can easily revert.
For every program you self-host, you can make its own container - they add very little overhead - and never think of it again. Should anything ever happen to a program - consequences will be limited to that program only.
Oh, and if you DO want to mess with Docker? Make a VM and play with Docker there to your heart’s content. Everything got borked? Throw that VM out the window and spin up a new one. Proxmox makes it very easy.
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?
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.
Well I don’t know much on docker myself. I use it for selfhosting containerized server stuff on local network only. Since Flatpak apps are sandboxed already (only install verified ones and intall Flatseal).
You can mimick a lot of cloud services with docker containers, that’s why I mentioned it. It’s the surest way to have control over your data. Don’t forget to make it rootless after installing.
Best you can do is get on with it at your pace, treat it like a fun hobby, try stuff, break stuff, read documentation, look at examples and learn.
Also regarding using a laptop as a server, don’t forget to remove the battery. Still running it 24/7 might chew a bit on your electricity bill. ARM devices are more beneficial here.
Or, alternatively, use Podman. It is Docker-compatible and doesn’t need root at all, even where Docker does.
For power consumption - undoubtedly yes. For native app support - no. I think an x86 system is a very reasonable starting point, removing as much friction as possible.