Configure Nginx virtual host for paperless-ngx

This commit is contained in:
Oliver Davies 2025-04-28 00:23:46 +01:00
parent 8aba0b0215
commit f17a38ce1e
2 changed files with 31 additions and 13 deletions

View file

@ -21,6 +21,7 @@
"jellyfin.oliverdavies.uk"
"luke.oliverdavies.uk"
"nixedo.oliverdavies.uk"
"paperless.oliverdavies.uk"
"phpsw-sculpin-demo.oliverdavies.uk"
"rebuilding-acquia.oliverdavies.uk"
"rebuilding-bartik.oliverdavies.uk"

View file

@ -1,21 +1,38 @@
{ config, ... }:
{
services = {
paperless = {
enable = true;
services =
let
cfg = config.services.paperless;
hostname = "paperless.oliverdavies.uk";
in
{
paperless = {
enable = true;
dataDir = "/mnt/media/paperless";
dataDir = "/mnt/media/paperless";
settings = {
PAPERLESS_URL = "https://paperless.oliverdavies.uk";
settings = {
PAPERLESS_URL = "https://${hostname}";
};
};
nginx.virtualHosts."${hostname}" = {
forceSSL = true;
useACMEHost = "oliverdavies.uk";
locations."/" = {
proxyPass = "http://localhost:${toString cfg.port}";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Real-IP $remote_addr;
'';
};
};
};
caddy.virtualHosts."${config.services.paperless.settings.PAPERLESS_URL}" = {
useACMEHost = "oliverdavies.uk";
extraConfig = "reverse_proxy localhost:28981";
};
};
}