I was looking into the prospect of deploying an instance of Lemmy myself. Being an ULTRA nix fanboi (and a Docker-hater), I was immediately struck by how much the process still depends on (and, IMO, is being held hostage by) Docker containers.
Can we (or at least someone more capable and with more free time than I) help the Lemmy community by harnessing the power of nix and flakes to create declarative, reproducible Lemmy scratch-built instance deployment?
I suspect it would be exceptionally easy for some of you out there. If you are a flakes power-user, just think of how much this could help the community (and perhaps awaken a few people to the power of flakes).
ps. if this already exists, please point me in the right direction.
Is there something wrong with the nixpkgs module?
Nothing at all. Maybe my suggestion is ignorant (but I don’t think it is).
What I am suggesting is a template configuration for instance operators to make getting up and running fool-proof. From what I hear, the nixpkgs module is great but it doesn’t help with the more complex parts of spinning up an instance regarding DNS and other aspects of a typical instance’s tech stack. If we could share a github repo with a FULL minimum viable product for all of the parts needed to run a real, solid lemmy instance, it would allow instance operators to gain all of the advantages that we currently enjoy using flakes. For example, an instance operator might be able to safely upgrade their entire instance with one command while, from what I observe, it currently takes instance operators a week or more to test and install things in that old, painful non-Nixy way.