Top
Best
New

Posted by wasting_time 1 day ago

Migrating from Proxmox to NixOS and Incus(www.nijho.lt)
86 points | 69 commentspage 3
whalesalad 1 day ago|
I haven't abandoned Proxmox yet, but the take here resonates with me. I do not like configuring appliances. I prefer defining infra as code, having that diffable, assertable, etc. I have had pretty good luck managing Proxmox clusters with the Proxmox API (https://pve.proxmox.com/pve-docs/api-viewer/index.html) or just letting the agent shell in as root (lol). I built a very simple provisioning tool called vmfactory that takes some really somple config on disk, bakes a fresh qcow image, pushes it to proxmox and then configures networking and boots it. It's extremely rudimentary but has been working well for me.

I did abandon TrueNAS, however. It really is a locked-down appliance. Good luck installing custom software on the base OS. I have a domain-joined Ubuntu/ZFS box that inherits a lot of policy from FreeIPA and/or Ansible config that is all backed by files on disk. It's been really easy to orchestrate what many would consider overkill in my homelab because literally everything is represented in a single Github repo.

I yanked vmfactory out and into a standalone repo if anyone is interested: https://github.com/whalesalad/vmfactory

mikestorrent 1 day ago||
https://github.com/Telmate/terraform-provider-proxmox ...

I run Ansible against Proxmox hosts to ensure the config on them is what I want, and then Terraform all VMs into place on them. It's not too far off from having your own mini-EC2, minus some of the nice trappings like load balancers.

wingmanjd 1 day ago|||
At $DAYJOB, we use the Telmate terraform proxmox provider, too. Upgrades over the years have had a few papercuts (mainly when values are shifted around), but it has overall been an immense timesaver. A terraform repo contains the 2 colocation datacenter proxmox environments plus a local lab edition of the same builds (locallab uses containers vs full VM's on the "real" hardware so that I can run almost all of the configuration on my laptop). Saltstack gets deployed during the buildouts, which picks up the OS/ application configuration after the OS is deployed.

No agentic stuff on our stack, as our security posture can't afford that currently.

As for the load-balancing, I think the later versions have supported targeting proxmox clusters vs a single node, and the newest Proxmox can do resource auto-balancing. That might get you what you need

mikestorrent 1 day ago||
Ah, I mean load balancing like an AWS ALB; obviously one can use an Nginx or HAproxy for that, but it's not a primitive, you need to deploy a machine and run it.

They have auto-balancing now? Damn. I wrote a balancer using the Google OR-SAT solver because there was no VMWare DRS equiv.

wingmanjd 14 hours ago||
It's something very new (I think as of the 9.2 version?). I haven't tried it because I don't have quite the need to let it do it's own thing yet.
catdog 1 day ago|||
Switched to that one some time ago, more features and adapts faster to changes in newer proxmox versions https://github.com/bpg/terraform-provider-proxmox
mikestorrent 1 day ago||
I will consider switching, but with like 400 VMs now it'd be a lot of work. Do you happen to know if it lets you deal with disks separately from the VM host? Used to use that flow on VMware, taint a machine but not its stateful secondary disk, and bring it back up with a fresh image and re-attach a database disk or whatever.
h4kunamata 1 day ago||
>I do not like configuring appliances. I prefer defining infra as code, having that diffable, assertable, etc.

I hardle ever access Proxmox GUI, everything is fully managed via Ansible playbooks, from deploying the LXC containers to updating them, from taking snapshot to syncing stuff to my TrueNAS is done via batching.

>I did abandon TrueNAS, however. It really is a locked-down appliance. Good luck installing custom software on the base OS

The most common mistake people seem to make when it comes to NAS, TrueNAS is a NAS not a Proxmox server.

I see people running dozens if not hundreds of services on UnRaid, one fart and the whole infrastructure, if I can call it that, goes to sh1t.

whalesalad 1 day ago||
[dead]
h4kunamata 1 day ago||
>By moving to NixOS, my entire infrastructure is defined in text files. This means my AI agents can read, understand, and even safely modify my infrastructure

You lost me there!!

Firstly, NixOS is hype, like everything being moved to Rust and failing miserably.

Secondly, "AI ... can .... safely modify my infrastructure", OP is either being a troll or haven't seem how the whole IT world is upside down because of those very same statements.

Thirdly, "my entire infrastructure is defined in text files", you clearly never heard of Ansible.

All my Proxmox LXC containers from DNS servers, to NGINX firewall aliases feeding OPNSense firewall rules, from Forgejo hosting my repos to PostgreSQL database, from Semaphore running my Ansible playbooks on schedule to *Arr collection, everything is fully infrastructure as code, there is no GUI.

I do not log into Proxmox to deploy my stuff, I enjoy CLI and Ansible makes everything like a walk in the park. I use Proxmox CLI tool "pct" for everything, even snapshots are CLI via "vzdump" and its config file.

My take from that post and comments resume in "hype" "not understanding processes" "seeing problems where there isn't one"

I only run Linux here, even my 3D printer runs Debian Netinst Linux. I am missing something here.

lmm 1 day ago||
> Secondly, "AI ... can .... safely modify my infrastructure", OP is either being a troll or haven't seem how the whole IT world is upside down because of those very same statements.

That's exactly why you want your infrastructure defined in version controlled files with easy revert when something gets screwed up.

> Thirdly, "my entire infrastructure is defined in text files", you clearly never heard of Ansible.

Ansible is a half-assed version of what nix or even Puppet gets you. Having a version controlled record of which shell commands you ran doesn't help that much when you're still running random uncontrolled shell commands and hoping they do what you want them to.

pxc 1 day ago||
> Firstly, NixOS is hype

NixOS is more than 20 years old, and virtually all of the things that make it compelling were already present a decade ago. If it's not for you, you'll know after you give it a try. But for those for whom it clicks, it's desirable because it just provides a more enjoyable computing experience. It's not more complicated than that.

> Secondly, "AI ... can .... safely modify my infrastructure", OP is either being a troll or haven't seem how the whole IT world is upside down because of those very same statements.

I do lots of Terraform work and some Nix work with LLM agents at my job. Is it worth it to rewrite a huge amount of whatever infrastructure-as-code your LLM agent generates? Hell yes; they generate way too much code and they make lots of mistakes. Are LLM agents still useful for experimentation via infrastructure-as-code? Also yes.

> Thirdly, "my entire infrastructure is defined in text files", you clearly never heard of Ansible.

I've used Ansible and Puppet at previous jobs. They don't manage state in a comparable way to NixOS. It just ain't the vibe. Domen Kozar wrote a decent blog post about the technical differences a decade ago: https://www.domenkozar.com/2014/03/11/why-puppet-chef-ansibl...

But the real reason is that those technical differences add up to a more pleasant experience for NixOS.

In my earlier days as a NixOS user, I used to get really excited with its design and how cool it is, and the neat technical properties that fall out of that (atomic upgrades! rollbacks! (and no filesystem snapshotting needed!)). I still think those things are awesome. But at the risk of feeding into your impression that "NixOS is hype", I've learned since then that the better pitch is about the subjectivity of using it: it feels good to use because experimentation is extremely cheap, reversible, transparent, and... fun. If you know, you know.

h4kunamata 1 day ago||
>NixOS is more than 20 years old, and virtually all of the things that make it compelling were already present a decade ago

20 years???

NixOS mention only started this year, I have been working in IT for the past 20 years, from e-commerce to banking and airline companies, I have never ever heard of NixOS.

Not until "social media influencers" started flooding YouTube with it this year.

We must be living in a completely different world then.

pxc 1 day ago||
> We must be living in a completely different world then.

I'm not even a real Nix old-timer, but I've been using NixOS on the job for roles in IT operations and software development for more than 10 years now.

And for a few years before that, I used Nix on a personal basis as a college student.

I'm aware of the rapid growth in user interest, of course; I was there for it!

HackerThemAll 1 day ago||
The amount of b.s. in this article is staggering.
h4kunamata 1 day ago|
I agree!!!

The "my entire infrastructure is defined in text files" alone tells OP never hear of Ansible.

gnabgib 1 day ago||
So how are you reading this sentence?

> While you can automate it with Terraform or Ansible, it..

h4kunamata 1 day ago||
>But fundamentally, Proxmox is built around clicking buttons. It is a GUI-first paradigm. While you can automate it with Terraform or Ansible, it often feels like fighting the tool. State drift is real. You change a setting in the UI to debug something, forget about it, and six months later your “infrastructure as code” is out of sync with reality.

Share the whole thing :)

Again, if you are managing everything as IaC, why touching the UI to make changes??

OP POV I just shared above tells everything that is wrong and Proxmox is not it.

Rekindle8090 1 day ago|
Sounds like writer has builders syndrome.

>There is a deeper philosophical difference too. Systems like Proxmox or TrueNAS are designed as appliances. You aren’t supposed to run arbitrary commands on the host; installing packages or tweaking config files is discouraged because you might break the middleware or lose changes on upgrade. You are effectively locked out of your own hardware’s full potential. With NixOS, the host is fully mine. I can mess with it—installing Kodi, tweaking network drivers, running local LLMs—without fear. Because the state is declarative, it is 100% obvious and reproducible. I can break the host configuration and recover to a working state in seconds, even if the machine is running essential services."

Total nonsense. The project advises caution about modifying the host because you might conflict with their package versions or lose changes on upgrade, but that's not being "locked out," that's just a maintenance consideration. The entire point of Proxmox is that you spin up VMs and containers where you do whatever you please with full isolation which is arguably more flexible than running everything on bare metal NixOS, not less.

The whole article is a guy who replaced a working hypervisor with a more complicated stack that does the same thing, had AI write it for him, and wrote a blog post about how superior it is.