❄️ Nix configurations
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

add paperless

A. Ottr 1e728258 133f9f3a

+65 -1
+1
hosts/polecat/configuration.nix
··· 17 17 ../../modules/nixos/server/pi-hole.nix 18 18 ../../modules/nixos/server/uptime.nix 19 19 ../../modules/nixos/server/homebox.nix 20 + ../../modules/nixos/server/paperless.nix 20 21 ]; 21 22 22 23 age.secrets."passwd".file = ../../secrets/common/passwd.age;
+15
modules/nixos/server/otterbox.nix
··· 16 16 }; 17 17 18 18 networking.firewall.allowedTCPPorts = [ 16300 ]; 19 + 20 + services.traefik.dynamicConfigOptions.http = { 21 + routers = { 22 + otterbox = { 23 + entryPoints = ["websecure"]; 24 + service = "otterbox"; 25 + rule = "Host(`box.otter.place`)"; 26 + tls.certResolver = "letsencrypt"; 27 + }; 28 + }; 29 + 30 + services = { 31 + otterbox.loadBalancer.servers = [{url = "http://localhost:16300";}]; 32 + }; 33 + }; 19 34 }
+48
modules/nixos/server/paperless.nix
··· 1 + {config, ...}: 2 + { 3 + age.secrets.paperless-password.file = ../../../secrets/paperless-password.age; 4 + 5 + services.postgresql = { 6 + ensureDatabases = [config.services.paperless.user]; 7 + ensureUsers = [ 8 + { 9 + name = config.services.paperless.user; 10 + ensureDBOwnership = true; 11 + } 12 + ]; 13 + }; 14 + 15 + services.paperless = { 16 + enable = true; 17 + 18 + passwordFile = config.age.secrets.paperless-password.path; 19 + settings = { 20 + PAPERLESS_DBHOST = "/run/postgresql"; 21 + PAPERLESS_TIME_ZONE = config.time.timeZone; 22 + PAPERLESS_OCR_LANGUAGE = "deu+eng+fra"; 23 + PAPERLESS_ADMIN_USER = "alex"; 24 + PAPERLESS_URL = "https://documents.otter.place"; 25 + PAPERLESS_OCR_USER_ARGS={ 26 + optimize = 1; 27 + pdfa_image_compression = "lossless"; 28 + invalidate_digital_signatures = true; 29 + }; 30 + }; 31 + }; 32 + 33 + # SSL config 34 + services.traefik.dynamicConfigOptions.http = { 35 + routers = { 36 + paperless = { 37 + entryPoints = ["websecure"]; 38 + service = "paperless"; 39 + rule = "Host(`documents.otter.place`)"; 40 + tls.certResolver = "letsencrypt"; 41 + }; 42 + }; 43 + 44 + services = { 45 + paperless.loadBalancer.servers = [{url = "http://localhost:${toString config.services.paperless.port}";}]; 46 + }; 47 + }; 48 + }
+1 -1
secrets/secrets.nix
··· 8 8 in 9 9 { 10 10 "caddy.age".publicKeys = [ alex ferret ]; 11 - "paperless-password.age".publicKeys = [ alex ferret ]; 11 + "paperless-password.age".publicKeys = [ alex ferret polecat ]; 12 12 "miniflux-creds.age".publicKeys = [ alex ferret ]; 13 13 14 14 "common/smb-media.age".publicKeys = [ alex ferret polecat ];