New to Docker Containers with Home Servers

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

conr

New Member
Jan 21, 2024
12
1
3
Why should I run my services, like Plex, Deluge, NextCloud, PhotoPrism, etc... in a Docker Container for a Home Server? I've always just install directly with the package manager like apt and pacman. Thanks!
 

mattventura

Active Member
Nov 9, 2022
447
217
43
For a single server, the main advantage is that it's easy to keep all of the mutable state for the applications in one place, so that you can easily transfer it when it comes time to migrate to a different server, reinstall the OS, etc.
 

alaricljs

Active Member
Jun 16, 2023
181
60
28
I decided to go in a new direction for my primary virtualization. Raw xen and plenty of upgrade woes are out, and Proxmox and I hope it won't suck is in... What I'm not sweating is all the docker containers I'm running. That's the fun/easy part.

Want to upgrade just one of your services but your distro upgraded others that are tied to the same dependencies? No issue in a container. Same for when they don't get around to upgrading. Or run an LTS base OS and current versions of your services in top.

Whether this matters to you is probably tied to how much you like to tinker with it. If you just want it up and running and don't upgrade much it probably doesn't matter.
 

reddeth

New Member
Jan 21, 2024
1
0
1
I like running everything in containers for a few reasons:

It helps to separate concerns, the environment can be replicated to match exactly what the developers are developing against, and I find that it drastically reduces the number of bugs and edge cases I encounter spinning up or testing out new services. Additionally, it means the host-os stays primarily concerned with just maintaining the Docker engine, it doesn't have a lot of extra packages to worry about updating.

Speaking of updates, I find that the ability to upgrade Docker containers really painless. Bumping a version number let's you roll out an update, if it's not what you want, you can roll it back easily. This is nice to me because I can selectively upgrade services and not worry about competing dependencies or conflicting versions with other stuff.

Lastly I just like the file organization of it. Using volume mounts you can keep service data and configuration files centralized to one place, which makes migrations and backups a breeze.

That said, and like alaricljs said too, it's largely up to you if that's actually beneficial or not. I like those points but they're really just my biased view why it's a slick tool, whether they matter to you or not is really down to how you want to operate your server setup and what kind of tinkering you're trying to do.
 

ttabbal

Active Member
Mar 10, 2016
747
207
43
47
I like containers for efficiency. However, I am not a huge fan of some of the things Docker does with networking and such. It's fine, and some things are much nicer than other platforms. I just wish people would include at least one distro package though, or even just instructions to set up an enviornment to run it so I can set it up the way I'd like. Docs take time to maintain though, so I get it.

I run Proxmox on my main server. I put Docker in a VM and let it manage those containers. One nice thing about VM/container setups is that you can spin up a new one to test out a service, and if you don't like it it's easy to just delete everything without messing with existing services.
 
  • Like
Reactions: slidermike

louie1961

Active Member
May 15, 2023
160
62
28
I do a mix of Proxmox and docker. I would never just run an OS on bare metal and install an app on except for my pfSense box, and my Synology. All my servers run Proxmox and I have a mix of LXC containers, docker containers or VMs. For my externally facing, self hosted WordPress websites, I prefer to run them each in their own VM, with dedicated IP address reservations. I then have individual Cloudflare tunnels for each. I also find some things in docker to be a pain in the butt, like mounting volumes on a NFS or CIFS share. So sometimes I default to a VM just because its easier.
 

conr

New Member
Jan 21, 2024
12
1
3
I am looking to use NixOS, based on Wolfgang's notthebee/nixos-config repo, on my new home server. He uses Docker containers for all of the services running, which makes upgrades and rebuilding real easy.