Immich: Difference between revisions

From NixOS Wiki
Ww4 (talk | contribs)
m Default port has changed as per this commit: https://github.com/NixOS/nixpkgs/commit/e3152f80bf675f9bad5f6d5d2a8b55b4ea5b85cc
Onny (talk | contribs)
Cleanup config
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:


== Setup ==
== Setup ==
{{Note|The module is not yet part of the latest NixOS stable release (24.05)  and is only available in unstable.}}


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;
  enable = true;
  environment.IMMICH_MACHINE_LEARNING_URL = "http://localhost:3003";
};
}}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].


Line 21: Line 16:


If you are using the default <code>immich</code> user, you can use the following snippet to enable VA-API support.{{file|/etc/nixos/configuration.nix|nix|3=users.users.immich.extraGroups = [ "video" "render" ];
If you are using the default <code>immich</code> user, you can use the following snippet to enable VA-API support.{{file|/etc/nixos/configuration.nix|nix|3=users.users.immich.extraGroups = [ "video" "render" ];
}}
=== Reverse Proxy ===
A typical [[nginx]] configuration to multiplex Immich with other web services might look like:
{{file|/etc/nixos/configuration.nix|nix|3=services.nginx.virtualHosts."immich.example.com" = {
  enableACME = true;
  forceSSL = true;
  locations."/" = {
    proxyPass = "http://[::1]:${toString config.services.immich.port}";
    proxyWebsockets = true;
  };
};
}}
}}
[[Category:Server]]
[[Category:Server]]
[[Category:Web Applications]]
[[Category:Web Applications]]

Latest 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.

/etc/nixos/configuration.nix
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.

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

Reverse Proxy

A typical nginx configuration to multiplex Immich with other web services might look like:

/etc/nixos/configuration.nix
services.nginx.virtualHosts."immich.example.com" = {
  enableACME = true;
  forceSSL = true;
  locations."/" = {
    proxyPass = "http://[::1]:${toString config.services.immich.port}";
    proxyWebsockets = true;
  };
};