diff --git a/modules/servers/tyr/default.nix b/modules/servers/tyr/default.nix index 9c60ba4..b7f3c38 100644 --- a/modules/servers/tyr/default.nix +++ b/modules/servers/tyr/default.nix @@ -11,5 +11,6 @@ ./home-assistant.nix ./mosquitto.nix ./linkwarden.nix + ./paperless-ngx.nix ]; } diff --git a/modules/servers/tyr/dns.nix b/modules/servers/tyr/dns.nix index 0ae8fd0..2bfbf73 100644 --- a/modules/servers/tyr/dns.nix +++ b/modules/servers/tyr/dns.nix @@ -87,6 +87,7 @@ ''"assistant.home.cronyakatsuki.xyz IN A 192.168.0.5"'' ''"ddns.home.cronyakatsuki.xyz IN A 192.168.0.5"'' ''"linkwarden.home.cronyakatsuki.xyz IN A 192.168.0.5"'' + ''"paperless.home.cronyakatsuki.xyz IN A 192.168.0.5"'' ]; }; }; diff --git a/modules/servers/tyr/paperless-ngx.nix b/modules/servers/tyr/paperless-ngx.nix new file mode 100644 index 0000000..893b221 --- /dev/null +++ b/modules/servers/tyr/paperless-ngx.nix @@ -0,0 +1,29 @@ +{config, ...}: { + services.paperless = { + enable = true; + passwordFile = config.age.secrets.paperless-ngx.path; + domain = "paperless.home.cronyakatsuki.xyz"; + settings = { + PAPERLESS_OCR_LANGUAGE = "hrv+eng"; + PAPERLESS_ADMIN_USER = "crony"; + PAPERLESS_URL = "https://paperless.home.cronyakatsuki.xyz"; + }; + }; + + services.traefik.dynamicConfigOptions.http = { + services.paperless.loadBalancer.servers = [ + { + url = "http://localhost:28981"; + } + ]; + + routers.paperless = { + rule = "Host(`paperless.home.cronyakatsuki.xyz`)"; + tls = { + certResolver = "porkbun"; + }; + service = "paperless"; + entrypoints = "websecure"; + }; + }; +} diff --git a/modules/servers/tyr/secrets.nix b/modules/servers/tyr/secrets.nix index dab0fc6..9f03e21 100644 --- a/modules/servers/tyr/secrets.nix +++ b/modules/servers/tyr/secrets.nix @@ -40,6 +40,9 @@ linkwarden-db = { file = ../../../secrets/linkwarden.age; }; + paperless-ngx = { + file = ../../../secrets/paperless-ngx.age; + }; }; }; } diff --git a/secrets/paperless-ngx.age b/secrets/paperless-ngx.age new file mode 100644 index 0000000..967e851 Binary files /dev/null and b/secrets/paperless-ngx.age differ diff --git a/secrets/secrets.nix b/secrets/secrets.nix index dcaa307..ebc8acb 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -45,4 +45,5 @@ in { "ddns.age".publicKeys = systems ++ users; "linkwarden.age".publicKeys = systems ++ users; "linkwarden-db.age".publicKeys = systems ++ users; + "paperless-ngx.age".publicKeys = systems ++ users; }