Immich: Difference between revisions
m fix typo |
I was unable to upload videos to Immich. Turned out that nginx was refusing upload of large files. So I took instructions from https://v1.122.2.archive.immich.app/docs/administration/reverse-proxy#nginx-example-config and added some missing config for nginx. |
||
Line 25: | Line 25: | ||
proxyPass = "http://[::1]:${toString config.services.immich.port}"; | proxyPass = "http://[::1]:${toString config.services.immich.port}"; | ||
proxyWebsockets = true; | proxyWebsockets = true; | ||
recommendedProxySettings = true; | |||
extraConfig = '' | |||
client_max_body_size 50000M; | |||
proxy_read_timeout 600s; | |||
proxy_send_timeout 600s; | |||
send_timeout 600s; | |||
''; | |||
}; | }; | ||
}; | }; |
Revision as of 20:09, 2 January 2025
Immich is a self-hosted photo and video management solution.
Installation
To install Immich, add the following to your NixOS configuration:
/etc/nixos/configuration.nix
services.immich.enable = true;
services.immich.port = 2283;
More options are available.
Tips and Tricks
Enabling Hardware Accelerated Video Transcoding
Add the Immich user to the render
and video
groups, and enable Accelerated Video Playback on your system:
/etc/nixos/configuration.nix
hardware.graphics = {
# ...
# See: https://wiki.nixos.org/wiki/Accelerated_Video_Playback
};
users.users.immich.extraGroups = [ "video" "render" ];
Using Immich behind Nginx
This is a typical Nginx configuration for Immich:
/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;
recommendedProxySettings = true;
extraConfig = ''
client_max_body_size 50000M;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
send_timeout 600s;
'';
};
};