New server has been acquired. Debian 13 has been installed.
GS308EP switches have been acquired and installed.
Now, I’m working to migrate to the new machine. 3 1/2 years ago when I started futzing with Docker, I sorta followed guides and guessed, abused it trying to make it do things it wasn’t designed for, and flipped switches I likely shouldn’t have flipped, so the set up is more than a little shabby.
As a result, I’ll likely end more redeploying than migrating the containers.
So rather than go forward with Docker blindly, I want to reassess whether I shouldn’t look into Proxmox, LXC, or Podman instead of Docker, or maybe something else entirely?
Work is just about done dumping ESX for Nutanix, but both of those seem overkill for my needs.
Of course the forums for any of the solutions make their own out to be the best thing since sliced bread and the others useless, so I’m hoping to get a more nuanced answer here.
If you’ve got Debian already installed, I cannot resist advocating for Incus (stable branch from Zabbly repo with web ui https://blog.simos.info/how-to-install-and-setup-the-incus-web-ui/) in lieu of proxmox. Does the same thing but you don’t have to rip out the kernel Debian uses.
With Debian 13 you have access to podman quadlets, use that for any non-vm needs. The ease of docker compose files easily removes reason for programs in LXC containers, and podman removes reason for docker in an LXC. LXC is left only for programs that aren’t containerized. VMs for security DMZ. Podman for bulk of stuff you want.
Good luck!
I was in a similar spot not too long ago, setting up a firewall and general network box. I was going to go with Proxmox but a fellow Lemmy guy strongly advocated for Incus on top of vanilla Debian. I was intrigued and ended up going for it. Learned a lot about networking with systemd (bridging, IP assignment and so on) for things I could have gotten for free in Proxmox (literally a few clicks), and had to fight Incus to work with a FreeBSD VM for Opnsense, but I love the setup now. Pure debian with a few Incus VMs and Docker inside of those as needed. So clean!
I’m looking at Opnsense on an Incus VM soon, what was your fight there? Good to know what I’ll hit ;)
Agreed on that path - some networking (like mimicking proxmox’s bridge connections which give VMs their own MAC/IP) takes effort to find the solution. But the basic LXC/VM-shares-your-IP works super easily and the script ability is great. Plus it doesn’t feel like a yoke on your system that is heavy and drives it, but just another application! I feel it’s close enough, and when you get it where you want it, it’s perf. I assume they’ll get “one click” solutions for the harder stuff baked in as they get more attention and traction.
“Just” some highly specific VM settings, in the end. I don’t know much about that, and terms like qemu don’t mean anything to me so I followed blog posts until it worked. (This one and maybe this one, I think.) It’s possible that it is actually trivial.
It’s been a while, but I can look up what I have when you need it. Feel free to ping me!
Yes, it was exactly that: Once I got the NICs set up the way I wanted them it was a breeze and everything just works. And I really like that I made every part work myself, no magic. I learned a lot, and wouldn’t have had I relied on Proxmox fiddling with the right parts for me.
Thanks for the links! I had no idea there were special settings needed
Came in here to mention Incus if no one had.
I love it. I have three “home production” servers running Proxmox, but mostly because Proxmox is one of very few LTS/comercially-supported ways to run Linux in a supported way with root (and everything else on ZFS). And while its web UI is still a bit clunky in places, it comes in handy some times.
However, Incus automation is just… superior.
incus launch --vm images:debian/13 foo
, wait a few seconds thenincus exec foo -- bash
and I’m root on a console of a ready-to-go Debian VM. Without--vm
, it’s a lightweight LXC container. And Ansible supports running commands throughincus exec
, so you can provision stuff WITHOUT BOTHERING TO SET UP ANYTHING.AND, it works remotely without fuss, so I can set up an Incus remote on a beefy server and spawn VMs nearly transparently. +
incus file pull|push
to transfer files.I’m kinda pondering scripting removal of the Proxmox bits from a Proxmox install, so that I just keep their ZFS support and run Incus on top.
Hmm, I setup a Proxmox machine a while back because, well, all the cool kids seemed to do it - and plenty of “support” on youtube
I found Incus and it just seemed better, but it was harder to find info on (back then) and seemed a little unready
Now, I regret not sticking with my gut instinct as I’ve got to basically rip out Proxmox to get Incus in, which means all my VMs are prisoners (and us: 1 VM is Home Assistant!)
So, do you know if it’s possible to migrate my VMs across to Incus, or is it literally wipe drive, start again?
(Obviously the data in each VM can be backed up & restored into new VMs)