Hello everyone, My home server (intel nuc6) died on me recently, I set it to be used as my home server using OpensSUSE Leap with the following services:
- NFS server
- Sftp over ssh for remote file transfers and I was looking for a faster alternative for local transfers (tftp maybe)
- Qbittorrent
- Aria2
- Emby
- I was experiencing with nextcloud then pfsense after.
- Definitely an office suite and a few nextcloud addons.
I have no alternative machine ATM to use it as a replacement but I plan to re-install everything on a VM (Virtualbox or Qemu/libvirt) on my Desktop, I have no experience with containers, but I think installing each service in a countainer would make it easier to move everything later to my new home server.
Would using debian or opensuse and use docker? Maybe even proxmox? or should I just stick with installing everything directly on my distro with no containers? I would love to know your opinion about the best approach.
Edit: I’m containerizing, I like to keep my setup simple, no OSes vertualization since I will be using a 7th or 8th gen low power minipc for my next server (Intel NUC, Hp mini, dell micro or lenovo tiny). I will use proxmox in the VM to get confortable with it and I think the web UI might be easier to use than SSHing to the VM. Later on the new server I will mostly use debain+docker (opensuse leap’s futur is cloudy atm) I would still love your suggestions and any guide/tutorial that you think is helpful to read/watch. Thanks everyone.
I like proxmox, but it kinda sounds like you’d be just fine with just docker running on opensuse or debian. Or whichever the favorite container is these days (idk why podman is so great, but I seent some posts about people that love it.)
I have tiered out my server with all my app services (jellyfin, nextcloud, etc) running in docker on a debian vm, then have lxc containers for nfs, VPN, etc. Proxmox itself handles ZFS, but I’m sure that’s bad practice and there is probably a better way - but it works for me so 🤷.
I’ve also got a opnsense vm, but not used for any “production” atm; just checking it out to see if I should switch my pfsense box over.
I firmly am of the mindset of containerizing everything. It may be harder to set up for services that you write yourself or ones that don’t already have containers, but as you said, it’s so much easier to migrate in the future.
I actually use podman for my services and systemd to manage their lifecycle. For each service, I have a folder that contains the systemd service file (doesn’t really work in btrfs systems. You need the service files in the same subvolume as etc or else they won’t start at boot) any config files or anything else that needs to be mounted as a volume into my container. I back up the folder that contains all those folder with my nightly backup. If my server craps out, I can restore that directory from my backup, systemctl link and enable all of my service files, and I’m back up to 100%.
I considering containerizing everything, except the OS (I’m not ready for immutable OSes yet). I mentioned Docker because it is what I keep finding guides for and which I think is simpler. How is it compared with Podman (for a beginner in containerizing)
Edit: I will mostly use BTRFS and snapshots, and I would definitely put my containers in a separate subvolume to avoid data loss when rolling back.
I considering containerizing everything, except the OS (I’m not ready for immutable OSes yet)
If you do ever want to script the system but don’t want to go full immutable OS, Ansible is very useful. I use it for things like tweaking sysctls, installing common packages like
htop
andborgbackup
, etc. across all my servers.From a user point of view, podman is mostly identical to docker. Like 98% of the time you can just replace ‘docker’ with ‘podman’ and it works. How they work under the hood is very different, though. Podman is designed around running rootless and daemonless. But if you don’t care about those things, use docker. Docker supports rootless as well now anyway, but you need to set it up manually. The biggest difference I have found is that podman doesn’t support docker-compose, which is extremely popular. Lemmy uses it, for example. There’s an additional couple of packages you can install that add support for docker-compose, but then podman uses a daemon, which defeats one of the purposes of using podman in the first place.
My workaround that I use for btrfs and systemd files is to have a folder in /etc with all my service files, then I soft link them to my service’s directory. This is just for organization purposes, as a backup wouldn’t include the data of the systemd file, just the link to it.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters LXC Linux Containers NAS Network-Attached Storage NUC Next Unit of Computing brand of Intel small computers SSH Secure Shell for remote terminal access UDP User Datagram Protocol, for real-time communications VPN Virtual Private Network
6 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.
[Thread #200 for this sub, first seen 8th Oct 2023, 16:45] [FAQ] [Full list] [Contact] [Source code]
Forget what everyone says, go for NixOS. This is really something