From f0f26bd91fa44002074fc3237413e75b251e43b1 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Thu, 4 Apr 2024 14:46:18 +0200 Subject: [PATCH] Add paperless service --- ServeNix/services/paperless.nix | 87 +++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 ServeNix/services/paperless.nix diff --git a/ServeNix/services/paperless.nix b/ServeNix/services/paperless.nix new file mode 100644 index 0000000..951fc9b --- /dev/null +++ b/ServeNix/services/paperless.nix @@ -0,0 +1,87 @@ +{ + config, + lib, + pkgs, + ... +}: { + virtualisation.oci-containers.containers.paperless-redis = { + image = "docker.io/library/redis:7"; + autoStart = true; + + dependsOn = []; + + ports = []; + + volumes = [ + "paperless-redis_data:/data" + ]; + + environment = {}; + + extraOptions = [ + "--net=behind-nginx" + ]; + }; + + virtualisation.oci-containers.containers.paperless-postgres = { + image = "docker.io/library/postgres:15"; + autoStart = true; + + dependsOn = []; + + ports = []; + + volumes = [ + "paperless-postgres_data:/var/lib/postgresql/data" + ]; + + environment = { + POSTGRES_DB = "paperless"; + POSTGRES_USER = "paperless"; + POSTGRES_PASSWORD = "paperless"; + }; + + extraOptions = [ + "--net=behind-nginx" + ]; + }; + + virtualisation.oci-containers.containers.paperless = { + image = "ghcr.io/paperless-ngx/paperless-ngx:latest"; + autoStart = true; + + dependsOn = [ + "paperless-redis" + "paperless-postgres" + ]; + + ports = [ + "8000:8000" + ]; + + volumes = [ + "paperless_data:/usr/src/paperless/data" + "/media/paperless-media:/usr/src/paperless/media" + "/media/paperless-export:/usr/src/paperless/export" + "/media/paperless-consume:/usr/src/paperless/consume" + ]; + + environment = { + PAPERLESS_REDIS = "redis://paperless-redis:6379"; + PAPERLESS_DBHOST = "paperless-postgres"; + + # PAPERLESS_ADMIN_USER = "root"; + # PAPERLESS_ADMIN_PASSWORD = "admin"; + + PAPERLESS_URL = "https://*.chriphost.de"; + # PAPERLESS_CSRF_TRUSTED_ORIGINS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + # PAPERLESS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + # PAPERLESS_CORS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + }; + + extraOptions = [ + # "--gpus=all" + "--net=behind-nginx" + ]; + }; +}