Paperless Service @m3-atlas

This commit is contained in:
Sascha Koenig 2025-05-06 14:41:27 +02:00
parent 7fec29f602
commit 20bdd1c7b6
10 changed files with 97 additions and 38 deletions

42
flake.lock generated
View File

@ -94,11 +94,11 @@
]
},
"locked": {
"lastModified": 1745812220,
"narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=",
"lastModified": 1746411114,
"narHash": "sha256-mLlkVX1kKbAa/Ns5u26wDYw4YW4ziMFM21fhtRmfirU=",
"owner": "nix-community",
"repo": "disko",
"rev": "d0c543d740fad42fe2c035b43c9d41127e073c78",
"rev": "b5d1320ebc2f34dbea4655f95167f55e2130cdb3",
"type": "github"
},
"original": {
@ -151,11 +151,11 @@
]
},
"locked": {
"lastModified": 1745894335,
"narHash": "sha256-m47zhftaod/oHOwoVT25jstdcVLhkrVGyvEHKjbnFHI=",
"lastModified": 1746413188,
"narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1ad123239957d40e11ef66c203d0a7e272eb48aa",
"rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a",
"type": "github"
},
"original": {
@ -221,19 +221,19 @@
"type": "github"
}
},
"nixpkgs-2744d98": {
"nixpkgs-9e9486b": {
"locked": {
"lastModified": 1739661218,
"narHash": "sha256-hEGW0SKD0ORTEmoTuEEONxgENP5kMqe+NCtJug0U6R0=",
"lastModified": 1744046669,
"narHash": "sha256-7PIbZBxiHW9pRKswRKrrvY0oZ0+3avDJktbLCJQTNao=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2744d988fa116fc6d46cdfa3d1c936d0abd7d121",
"rev": "9e9486ba0142e24a6be35a12384a42982c65d963",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2744d988fa116fc6d46cdfa3d1c936d0abd7d121",
"rev": "9e9486ba0142e24a6be35a12384a42982c65d963",
"type": "github"
}
},
@ -255,11 +255,11 @@
},
"nixpkgs-master": {
"locked": {
"lastModified": 1745912738,
"narHash": "sha256-B7XJw9j3ZDB1RS3S43FtEZroGFbEApbI/UUSTK0WUjA=",
"lastModified": 1746535540,
"narHash": "sha256-qM8w1mWaktQh0/KVRCk97gbJnqFvi3PdEYzkIcSKsk4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0dc8551522034a0686417149337304bde2c27e7b",
"rev": "e8f532dea2f4470f8e78da764bb6d2fae07ec4ce",
"type": "github"
},
"original": {
@ -271,11 +271,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1745742390,
"narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=",
"lastModified": 1746422338,
"narHash": "sha256-NTtKOTLQv6dPfRe00OGSywg37A1FYqldS6xiNmqBUYc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "26245db0cb552047418cfcef9a25da91b222d6c7",
"rev": "5b35d248e9206c1f3baf8de6a7683fee126364aa",
"type": "github"
},
"original": {
@ -303,11 +303,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1745794561,
"narHash": "sha256-T36rUZHUART00h3dW4sV5tv4MrXKT7aWjNfHiZz7OHg=",
"lastModified": 1746328495,
"narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5461b7fa65f3ca74cef60be837fd559a8918eaa0",
"rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e",
"type": "github"
},
"original": {
@ -341,7 +341,7 @@
"home-manager": "home-manager_2",
"hyprpanel": "hyprpanel",
"nixpkgs": "nixpkgs_3",
"nixpkgs-2744d98": "nixpkgs-2744d98",
"nixpkgs-9e9486b": "nixpkgs-9e9486b",
"nixpkgs-locked": "nixpkgs-locked",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-stable": "nixpkgs-stable",

View File

@ -17,7 +17,7 @@
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-2744d98.url = "github:nixos/nixpkgs/2744d988fa116fc6d46cdfa3d1c936d0abd7d121";
nixpkgs-9e9486b.url = "github:nixos/nixpkgs/9e9486ba0142e24a6be35a12384a42982c65d963";
nixpkgs-locked.url = "github:nixos/nixpkgs/2744d988fa116fc6d46cdfa3d1c936d0abd7d121";
nixpkgs-master.url = "github:nixos/nixpkgs/master";

View File

@ -14,6 +14,7 @@
# Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.temp-packages
outputs.overlays.stable-packages
outputs.overlays.locked-packages
outputs.overlays.pinned-packages

View File

@ -52,19 +52,6 @@
fonts.fontconfig.enable = true;
services.mako = {
enable = true;
backgroundColor = "#282a36";
textColor = "#80FFEA";
borderColor = "#9742b5";
width = 400;
height = 150;
padding = "10,20";
borderRadius = 8;
borderSize = 1;
margin = "20,20";
};
programs.kitty = {
enable = true;
shellIntegration = {
@ -85,7 +72,7 @@
home.packages = with pkgs; [
appimage-run
anytype
temp.anytype
# blueberry
brave
# brightnessctl

View File

@ -16,6 +16,9 @@
n8n-env = {
file = ../../secrets/n8n-env.age;
};
paperless-key = {
file = ../../secrets/paperless-key.age;
};
restreamer-env = {
file = ../../secrets/restreamer-env.age;
};

View File

@ -6,6 +6,7 @@
./minio.nix
./mysql.nix
./n8n.nix
./paperless.nix
./postgres.nix
./searx.nix
./tailscale.nix

View File

@ -0,0 +1,38 @@
{config, ...}: {
services.paperless = {
enable = true;
port = 3012;
database.createLocally = true;
passwordFile = config.age.secrets.paperless-key.path;
settings = {
PAPERLESS_URL = "https://pl.m3ta.dev";
DATABASE_URL = "postgresql://paperless:paperless@localhost:5432/paperless";
PAPERLESS_CONSUMER_IGNORE_PATTERN = [
".DS_STORE/*"
"desktop.ini"
];
PAPERLESS_OCR_LANGUAGE = "deu+eng";
PAPERLESS_OCR_USER_ARGS = {
optimize = 1;
pdfa_image_compression = "lossless";
};
};
};
# Traefik configuration for headscale
services.traefik.dynamicConfigOptions.http = {
services.paperless.loadBalancer.servers = [
{
url = "http://localhost:3012/";
}
];
routers.paperless = {
rule = "Host(`pl.m3ta.dev`)";
tls = {
certResolver = "godaddy";
};
service = "paperless";
entrypoints = "websecure";
};
};
}

View File

@ -14,7 +14,7 @@
commandLineArgs = "--password-store=gnome-libsecret";
};
# auto-cpufreq = inputs.nixpkgs-2744d98.legacyPackages.${prev.system}.auto-cpufreq;
nushell = inputs.nixpkgs-9e9486b.legacyPackages.${prev.system}.nushell;
# OVMF = inputs.nixpkgs-locked.legacyPackages.${prev.system}.OVMF;
# trezord = inputs.nixpkgs-2744d98.legacyPackages.${prev.system}.trezord;
@ -29,6 +29,13 @@
# });
};
temp-packages = final: _prev: {
temp = import inputs.nixpkgs-9e9486b {
system = final.system;
config.allowUnfree = true;
};
};
stable-packages = final: _prev: {
stable = import inputs.nixpkgs-stable {
system = final.system;
@ -37,7 +44,7 @@
};
pinned-packages = final: _prev: {
pinned = import inputs.nixpkgs-2744d98 {
pinned = import inputs.nixpkgs-9e9486b {
system = final.system;
config.allowUnfree = true;
};

View File

@ -24,6 +24,7 @@ in {
"secrets/m3tam3re-secrets.age".publicKeys = systems ++ users;
"secrets/minio-root-cred.age".publicKeys = systems ++ users;
"secrets/n8n-env.age".publicKeys = systems ++ users;
"secrets/paperless-key.age".publicKeys = systems ++ users;
"secrets/restreamer-env.age".publicKeys = systems ++ users;
"secrets/searx.age".publicKeys = systems ++ users;
"secrets/tailscale-key.age".publicKeys = systems ++ users;

21
secrets/paperless-key.age Normal file
View File

@ -0,0 +1,21 @@
age-encryption.org/v1
-> ssh-ed25519 4NLKrw +gTzzublNrJqte2A+JoeQ7pm8AbvHHFpEkvKDgKnrQE
TXRy2FHd4f6/QHgrayNBLYnL7R7fRi8oQCg/1SovnDQ
-> ssh-ed25519 5kwcsA zlGTm4IOhoSWSU0GjRq6deElKp+Oa7blT7lD5zTW8gI
wexSSiMFP4wgBW4OdUXX6w/0hSM5bnw0SFseB2iicP8
-> ssh-ed25519 9d4YIQ tHtlFaaNFLOhwftQycfkLvGeuMb6+Vf9avd89H/Y/TI
F0Odk63tfaDU46W4GSkfthB2mhGUnvGxkM9uH6MxveE
-> ssh-ed25519 3Bcr1w pN9xpC1+bkMgKfLwWq+mS/Nfns6OvLmMJ8Gp83yZ7wA
poHvRg2RAlzTcgXruUz4bRCna3/Csruk7we78WFr6ps
-> ssh-rsa DQlE7w
T/3AVPmmUZWnsSMBo09oYfBjNfN4C077mFUeHQP2TJOUFIPFxakWoQs8ge6wM35q
zj+iPFYw/QhRWYn525dcc3szBMQBk7dpcQ0ioX71L6aLR50jTVDu+kdRzgIvIrnh
YvR0u0H1JwNm1j6w6yRumG76hXyWmqBHRBY6pUwgObXX891rsLZm66cpM6rCkWKu
lOAfrtfQeLxco+8LIbjyszUZPAOQDyf+agD2TLEncpvZuMM31XX+wc8fWFs8hEI1
jnaIJ/xku1dMVazks1v2p5ydrddqyHj2xXunB3Vp0se17qm0oupOGLJfYg2cm0h0
Lr1MnGMG/rPyzejFKq5aBX/eiK3Vbk+eez6StR6jBDPYvfU1nxuX+X6uxU6PKFrM
/XF8Fdjq9vRGr15GGWDvsWGqR/tpdH8IzQTuoh3A2tkQPqjpDGztWzlWWoX2fQEt
aWGdZvXOuW0ZngeoGnqTkCzWZ1Wi6PIzZEWBhxYaHKtcM84yP4o1P1hcybpKU7wK
--- oYnNUuCYBsE2dkKN9H5VR+lrnnwP2sM/7oia0ss95N0
<EFBFBD>ON-‘¹OïyO먪ìÏ»bÒ;6P‡XKÛ—þ¨ùuS/œÛ©Ý,—ƒùX<C3B9> w+_+ù*ɾýâXçx¸&Ã<>å­e}å(»ò