Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've hosted Immich since it came out and all my photos have been migrated to it at this point. I would never host Immich on NixOS (and I do use it for certain things). The reason? It's not simpler than a container option and creates a single point of issue. The container option is tested and supported by Immich, they recommend it. So everything I need is part of that. I moved servers midway through the year and the storage for my Immich implementation is NAS hosted and the mount is simply exposed to the Immich container. It took me less than 15 minutes to move Immich. And while that would have likely been the same with NixOS it's actually more of a chore to roll back with Nix. My Compose file is locked to major/minor and I choose when to do upgrades. But rollbacks are actually simpler IMO. I just stop the container, tar the operational directory, flip the bits in the Compose file and restart. I've not actually had an issue with Immich ever while doing it this way and I manage about 10TB of photos and videos currently in Immich.

I actually thought about doing this with NixOS last year, but it seemed counterproductive compared to how I self-host, I don't want to manage configurations in multiple places. If I switched everything it would likely be just as much work and then I'm reliant on Nix. Over the years I've gone from the OS being a mix of Arch and Ubuntu to mostly just Debian for my self hosting LXC or VMs. I already have the deployments templated so there's nothing for me to do other than map an IP, give it a hostname and start it.

To each their own, but I don't want to be beholden to NixOS for everything. I like the container abstraction on LXC and VMs and it's been very good to minimize the work of self-hosting over 40+ services both in my home lab and in the bare metal server I lease from Hetzner.





A few thoughts.

> It's not simpler than a container option and creates a single point of issue. The container option is tested and supported by Immich, they recommend it. I don't want to be beholden to NixOS for everything.

I think there's a misunderstanding here. You aren't beholden to NixOS here. You don't have to use nixpkgs nor home-manager modules. You can make your own flakes and you can use containers, but the benefit is still that you set it up declaratively in config.

It's not incompatible with anything you've said, it's just cool that it has default configurations for things if you aren't opinionated.

> I don't want to manage configurations in multiple places.

I've accumulated one big Nix config that configures across all my machines. It's kind of insane that this is possible.

Of course, it would seem complicated looking at the end result, but I iterated there over time.

Example: https://github.com/johnae/world -- fully maintained by a clanker (https://github.com/johnae/world/pulls?q=is%3Apr+is%3Aclosed)


> I think there's a misunderstanding here. You aren't beholden to NixOS here. You don't have to use nixpkgs nor home-manager modules. You can make your own flakes and you can use containers, but the benefit is still that you set it up declaratively in config.

There's actually no misunderstanding and this is exactly my point. With any Nix config you are beholden to that specific platform. What I'm saying is any other Linux distro can be dropped in with almost no changes in my existing implementation. I've already experienced breaking changes pre-Flakes with Nix and so I don't actually view it as stable as other options. Beyond that there's some politics surrounding Nix that I don't care to follow. So when you say "all you have to do is write your own Flake"... Why? I already have something that's able to be reliably reinstalled in minutes if need be. I don't need a specific declarative set of tooling to get there.

I like the idea of a declarative setup, but I don't think Nix is mature enough nor does it bring enough differentiation to the plate to be worthwhile as of yet.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: