45 lines
1.4 KiB
Nix
45 lines
1.4 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
services.paperless = {
|
|
enable = true;
|
|
package = pkgs.paperless-ngx;
|
|
address = "0.0.0.0";
|
|
port = 28101;
|
|
|
|
settings = {
|
|
|
|
# Da der Proxy auf einem anderen Server (via Tailscale) liegt:
|
|
# Erlaubt Paperless, die 'X-Forwarded-*' Header zu akzeptieren
|
|
PAPERLESS_USE_X_FORWARDED_HOST = "true";
|
|
PAPERLESS_USE_X_FORWARDED_PORT = "true";
|
|
|
|
# Erlaubt den Zugriff über die Domain UND die Tailscale-IP
|
|
# Der Stern '*' ist die einfachste Lösung für private Server
|
|
PAPERLESS_ALLOWED_HOSTS = "ngx.cyperpunk.de,100.109.179.25,localhost";
|
|
|
|
# Füge die IP auch zu den vertrauenswürdigen Ursprüngen hinzu (für CSRF)
|
|
PAPERLESS_CSRF_TRUSTED_ORIGINS = [
|
|
"https://ngx.cyperpunk.de"
|
|
"http://100.109.179.25:28101"
|
|
];
|
|
|
|
# Restliche Einstellungen bleiben gleich
|
|
PAPERLESS_OCR_LANGUAGE = "deu+eng";
|
|
PAPERLESS_CONSUMPTION_DIR = "/var/lib/paperless/consume"; # Falls du den Bind-Mount nutzt
|
|
PAPERLESS_URL = "https://ngx.cyperpunk.de";
|
|
};
|
|
};
|
|
|
|
# Gruppe und Berechtigungen wie besprochen
|
|
users.users.paperless.extraGroups = [ "users" ];
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /storage/internal/paperless 0775 root users -"
|
|
"z /storage/internal/paperless 0775 root users -"
|
|
];
|
|
|
|
# Öffne den Port für Tailscale (oder das lokale Netz)
|
|
networking.firewall.allowedTCPPorts = [ 28101 ];
|
|
}
|