Hey there! 👋 I’d like to share a way to provision and manage servers that is fully reproducible, declarative, and powerful enough to deploy a full-stack application, including a PostgreSQL database, multiple containers, and a reverse proxy.
We’ll use these three amazing tools:
- Terraform to provision NixOS servers in the cloud
- The Nix language to write declarative configurations for every aspect of our servers
- Colmena to manage and deploy these configurations across our server fleet
This is not an in-depth tutorial on NixOS – which is quite a rabbit hole! – but rather a bird’s eye view of how NixOS enables a fully declarative approach to server management, which I hope will encourage you to learn more about it.