Hi all. Just learned about NixOS a few weeks ago. I’m in the process of migrating several of my docker services to a new server that will have proxmox installed as the host and then a VM for docker.
I’m currently using alpine as the VM and it works well but one of the main goals of the migration is to use infrastructure as code as much as possible. All my docker services are docker compose files checked into a git repo that gets deployed. When I need to make a change, I update the git repo and pull down the latest docker compose.
I currently have a bunch of steps that I need to do on the alpine VM to make it ready for docker (qemu agent, NFS shares, etc).
NixOS promises to be able to do all that with a single config file and then create a immutable OS that never changes after that. That seems to follow the philosophy well for infrastructure as code and easy reproducibility.
Has anyone else tried NixOS as a docker host? Any issues you’ve encountered?
Other details about my Homelab:
Proxmox manages a SSD array of fast storage that is used by the docker containers. The ZFS array has NFS share enabled and then each docker container that needs it has a volume mounted directly in the docker compose.
My main storage is still in my unraid Nas that also uses NFS shares which can be mounted by docker containers when needed
Portainer is used to create a ‘stack’ which is a service defined by a docker compose file. Most services have multiple containers. Portainer allows you to connect to a git repo for the compose file rather just copy and paste the code. So updating the docker files is super easy (use something like VS code in your desktop, make changes, push to repo then on portainer hit update)