Immich

From NixOS Wiki

Immich is an open-source software, designed to provide a self-hosted alternative for managing and backing up photos and videos, with a focus on privacy and ease of use.

Setup

Note: The module is not yet part of the latest NixOS stable release and is currently in a PR at https://github.com/NixOS/nixpkgs/pull/324127

The following example configuration will enable Immich locally

/etc/nixos/configuration.nix
services.immich = {
  enable = true;
  environment.IMMICH_MACHINE_LEARNING_URL = "http://localhost:3003";
};

After applying the configuration you can access the instance via http://localhost:3001.

Hardware Accelerated Transcoding using VA-API

First make sure you have configured hardware acceleration on your system as described in Accelerated Video Playback.

To make use of hardware accelerated video transcoding using VA-API, make sure to add your Immich user to the render and video groups. If you are using the default immich user, you can use the following snippet to enable VA-API support.

/etc/nixos/configuration.nix
users.users.immich.extraGroups = [ "video" "render" ];