u/Sawses

I'm rebuilding my home server, and could use some advise on a smooth migration!

Hey everybody! I've got an old gaming computer that has been running a simple homeserver for me for a couple years now. I set it up while still learning Linux, networking, Docker, etc. all simultaneously. It took me a few weeks of tinkering on-and-off to get something that met my needs, and I've more or less left it alone since then. I've noticed lots of areas for improvement, though, and plan to rebuild from the ground up while importing user data and configuration information from the old server and retaining the large media files located on separate disks.

The big problem is that it's not very modular. Any time I need to update something, I've got to do it manually. I learned about Docker halfway through the project and didn't go out of my way to make sure everything was nice and isolated from everything else. So things are all hooked into each other and I risk breaking something every time I make a change. It's a miracle everything has held together for as long as it has.

And, of course, I'm sure there are unpatched security vulnerabilities. I want to be able to easily trigger updates to my services without risking any data and have an easy way to roll back to when I knew it all worked well.

I could use a little advice from people who know how to do a smooth transition, since this seems like the kind of thing an actual IT professional would know tools for and have experience with. I'm just an office drone who's better than average at Excel.

Specs:

CPU: Intel i7 8700K

GPU: GeForce GTX 1060

RAM: 16 GB

Storage: ~25 TB (8TBx3 slow HDDs, 1 TB fast new NVME, 256GB ooooooold SSD)

OS: Ubuntu 24.04

Services run:

  • AMP game server manager (dockerized)
  • Bitwarden (dockerized)
  • Audiobookshelf
  • Emby
  • Nginx to allow me to serve my services over the internet via subdomains
  • Heimdall as a dashboard
  • Paperless-ngx
  • Wiki.js

My questions:

  1. What strategy should I use for the migration? Currently I'm planning to install a new SSD into the computer and install a new OS on that, get all the services up and running, import the configuration from my old SSD, and hook the new OS into all my media files on the big HDDs. Is that the smart way to go about this?
  2. Should I use Proxmox? I'm thinking that will make #1 way easier in the future. If I understand correctly, a hypervisor would mean I could have a VM specifically for my Docker containers that I could duplicate, experiment with, etc. So if I break something, no worries!
  3. What is your preferred remote desktop tool? I'm able to get everything done with a CLI, but sometimes (especially when messing with folder structures and files) I'd like to just be able to look at it the way I'm used to.
  4. Is there a way to unify user management? It would be nice for people to just have a single account that all the services I want them to have automatically inherit.
  5. I'm currently using an Nginx reverse proxy (which I don't really understand) to allow people to log into services using a subdomain of my URL. Is there a better or more intuitive way to do this? At this point it's black magic to me. I'd like to set it up with a DDNS, too, since my ISP won't give me a static IP.
  6. What is your preferred remote backup tool? I'd like to backup the basic configuration files and such to the cloud, since everything else is replaceable. It would be nice to just take a snapshot of each of my VMs every day or week and pop them into Google Drive for a rainy day.

Thanks for the help, guys! Sorry for the wall of text, I'm just at a point where I now have an idea of just how much I have to learn.

reddit.com
u/Sawses — 3 days ago