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.
It is possible to deploy a lemmy server via a NixOS option. It’s under services.lemmy, see https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=lemmy
You could always try to improve the packaging (there is an issue I had, but a ticket was already open and should be fixed at worst in the next version of lemmy, which was released a few days ago if I’m right)
Of course, everything that make NixOS server hosting will making hosting lemmy with nixos easier, but most of the trouble I had with setting up my server a few years ago was understanding how to configure and run the DNS server on it.
Is there something wrong with the nixpkgs module?
There is a lemmy nixos module https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=lemmy in nixpkgs which is functional. Or at least almost there in terms of ease of use. Even with experience, it still took me over an hour before I could successfully start my instance.
ofc this doesn’t cover the host creation, and other details, I already had a server with NixOS running.