Immich: Difference between revisions
 Add nginx reverse proxy example  | 
				 Cleanup config  | 
				||
| Line 5: | Line 5: | ||
The following example configuration will enable Immich locally.  | The following example configuration will enable Immich locally.  | ||
{{file|/etc/nixos/configuration.nix|nix|3=services.immich   | {{file|/etc/nixos/configuration.nix|nix|3=services.immich.enable = true;  | ||
}}To see more options, visit the [https://search.nixos.org/options?channel=unstable&query=services.immich Immich module's options page].  | }}To see more options, visit the [https://search.nixos.org/options?channel=unstable&query=services.immich Immich module's options page].  | ||
Revision as of 12:46, 9 December 2024
Immich is an open source photo and video management solution, 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
The following example configuration will enable Immich locally.
services.immich.enable = true;
To see more options, visit the Immich module's options page.
After applying the above configuration you will be able to access Immich at http://localhost:2283.
Hardware Accelerated Transcoding using VA-API
Before anything else, 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,  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.
users.users.immich.extraGroups = [ "video" "render" ];
Reverse Proxy
A typical nginx configuration to multiplex Immich with other web services might look like:
services.nginx.virtualHosts."immich.example.com" = {
  enableACME = true;
  forceSSL = true;
  locations."/" = {
    proxyPass = "http://[::1]:${toString config.services.immich.port}";
    proxyWebsockets = true;
  };
};