paperless-gpt

This commit is contained in:
2026-03-13 16:56:20 +00:00
parent b24065bf5c
commit b21a150452
4 changed files with 50 additions and 13 deletions

View File

@@ -13,7 +13,7 @@
nameservers = ["1.1.1.1"];
firewall = {
enable = true;
trustedInterfaces = ["eno1" "tailscale0"];
trustedInterfaces = ["eno1" "tailscale0" "docker0"];
allowedUDPPorts = [
53
config.services.tailscale.port

View File

@@ -18,30 +18,35 @@
tls {
get_certificate tailscale
}
reverse_proxy localhost:3000
reverse_proxy localhost:8080
'';
};
};
virtualisation.oci-containers = {
backend = "docker";
containers.paperless-ai = {
image = "clusterzx/paperless-ai:3.0.9";
containers.paperless-gpt = {
image = "icereed/paperless-gpt:latest";
autoStart = true;
ports = [
"127.0.0.1:3000:3000"
"127.0.0.1:8080:8080"
];
volumes = [
"paperless-ai-data:/app/data"
"paperless-gpt-data:/app/data"
"paperless-gpt-prompts:/app/prompts"
];
environment = {
PUID = "1000";
PGID = "1000";
PAPERLESS_AI_PORT = "3000";
# Initial setup wizard will configure the rest
PAPERLESS_AI_INITIAL_SETUP = "yes";
PAPERLESS_API_URL = "http://host.docker.internal:${toString config.services.paperless.port}/api";
PAPERLESS_BASE_URL = "http://host.docker.internal:${toString config.services.paperless.port}";
LLM_PROVIDER = "openai";
LLM_MODEL = "gpt-5.4";
LLM_LANGUAGE = "German";
VISION_LLM_PROVIDER = "openai";
VISION_LLM_MODEL = "gpt-5.4";
LOG_LEVEL = "info";
};
environmentFiles = [
config.sops.secrets.tahani-paperless-gpt-env.path
];
extraOptions = [
"--add-host=host.docker.internal:host-gateway"
];
@@ -60,7 +65,7 @@
services.paperless = {
enable = true;
address = "127.0.0.1";
address = "0.0.0.0";
consumptionDir = "/var/lib/paperless/consume";
passwordFile = config.sops.secrets.tahani-paperless-password.path;
settings = {

View File

@@ -12,6 +12,7 @@
den.aspects.ai-tools
den.aspects.zellij
den.aspects.zk
den.aspects.secrets
];
den.aspects.tahani.nixos = {...}: {
@@ -30,6 +31,11 @@
format = "binary";
path = "/run/secrets/tahani-paperless-password";
};
tahani-paperless-gpt-env = {
sopsFile = ../secrets/tahani-paperless-gpt-env;
format = "binary";
path = "/run/secrets/tahani-paperless-gpt-env";
};
tahani-email-password = {
sopsFile = ../secrets/tahani-email-password;
format = "binary";