logoalt Hacker News

Migrating from Proxmox to NixOS and Incus

47 pointsby wasting_timeyesterday at 9:22 PM22 commentsview on HN

Comments

redleweltoday at 12:15 AM

I get the advantage of fully declarative systems such as Nix, but everything you do in proxmox via GUI can be done via CLI: https://pve.proxmox.com/pve-docs/#_command_line_interface

CLI is first class in proxmox, I use the qm command for managing vms all the time. The networking is also just a file in `/etc/network/interfaces` that I modify with vim as needed.

show 2 replies
cassianolealyesterday at 10:13 PM

I'm also considering migrating from Proxmox to Incus, but I'd look into IncusOS rather than having to manage the host OS myself.

show 1 reply
iotapi322yesterday at 11:19 PM

I've been using incus for a while now and actually run it on a side project in production for the better part of a year. Rock solid performance.

EnigmaCurryyesterday at 10:40 PM

NixOS has transformed my use of Proxmox. I configure, build, and deploy everything from my nix workstation. I don't need to use the PVE gui at all. Proxmox is just a target, and I've abstracted things enough to where I can deploy the same machines to libvirt on a local machine too. Why would I need to let my agent into my PVE box? I haven't looked at incus, but if I wanted to run the full stack declaratively, nixos and LLMs are so powerful now that I would probably just say to run libvirt and ZFS on nixos natively.

show 2 replies
sbstpyesterday at 11:34 PM

Incus is great. I've been trying to revive an unmaintained ansible collection to manage incus resources https://github.com/sbstp/ansible-collection-incus

show 1 reply
sfRattantoday at 12:22 AM

Another proxmox-esque project I've been watching is Sylve, a control plane for FreeBSD that provides a web interface to jails, bhyve VMs, and containers [1]. It's new-ish, but it looks like a possible sweet spot replacement for both proxmox and TrueNAS (which was originally also built on FreeBSD before they switched to Linux IIRC), at least for my homelab-ing use case. Potentially eventually for environments at greater scale also. The company behind it is a software consultancy and Sylve is built with their actual business needs in mind, and is BSD-licensed like the OS it runs atop.

One of the developers building Sylve gave a talk last year [2].

[1]: https://sylve.io/

[2]: https://youtu.be/wo4oD5UON30

kennywinkeryesterday at 10:43 PM

> But fundamentally, Proxmox is built around clicking buttons. It is a GUI-first paradigm.

Uhh, whut? It provides a button-y interface, but you can do everything via config files and `pct` on the command line if you prefer. I know that’s not full nix-style declarative, but you don’t have to mislead to sell me on the advantages of declarative infra.

show 1 reply
daishi55yesterday at 11:26 PM

This seems very cool and I will probably try it, but I think I’m missing something. I run Proxmox so that I can have multiple VMs running on my NUC. This doesn’t really solve that right? I cant spin up a windows 11 vm one weekend for a random experiment.

show 3 replies
whalesaladyesterday at 11:34 PM

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

show 1 reply
Rekindle8090yesterday at 10:55 PM

[dead]