43 lines
896 B
Nix
43 lines
896 B
Nix
{
|
||
lib,
|
||
pkgs,
|
||
...
|
||
}:
|
||
{
|
||
services.immich = {
|
||
enable = true;
|
||
port = 2283;
|
||
host = "0.0.0.0";
|
||
};
|
||
|
||
security.acme = {
|
||
acceptTerms = true;
|
||
defaults.email = "kellyl@sysrq.ca";
|
||
};
|
||
|
||
services.caddy = {
|
||
enable = true;
|
||
|
||
virtualHosts = {
|
||
"immich.sysrq.ca" = {
|
||
extraConfig = ''
|
||
encode gzip
|
||
|
||
# Automatically handle HTTPS via Let’s Encrypt
|
||
# Caddy will request and renew certs for immich.sysrq.ca
|
||
|
||
reverse_proxy http://192.168.0.60:2283 {
|
||
# If Immich uses WebSockets, Caddy will proxy them automatically
|
||
# Add headers if you want forward real client IP
|
||
header_up X-Real-IP {remote_host}
|
||
header_up X-Forwarded-For {remote_host}
|
||
header_up Host {host}
|
||
}
|
||
'';
|
||
};
|
||
};
|
||
};
|
||
|
||
networking.firewall.allowedTCPPorts = [ 80 443 2283 ];
|
||
|
||
}
|