159 lines
3.8 KiB
Nix
159 lines
3.8 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
paperlessVersion = "2.17.1";
|
|
paperlessNCVersion = "1.0.1";
|
|
in {
|
|
sops.templates."paperless-nextcloud-sync_secrets.env".content = ''
|
|
WEBDRIVE_PASSWORD=${config.sops.placeholder.paperless-nextcloud-sync-password}
|
|
'';
|
|
|
|
virtualisation.oci-containers.containers = {
|
|
paperless-nextcloud-sync = {
|
|
image = "flor1der/paperless-nextcloud-sync:${paperlessNCVersion}";
|
|
autoStart = true;
|
|
|
|
login = {
|
|
# Uses DockerHub by default
|
|
# registry = "";
|
|
|
|
# DockerHub Credentials
|
|
username = "christoph.urlacher@protonmail.com";
|
|
passwordFile = "${config.sops.secrets.docker-password.path}";
|
|
};
|
|
|
|
dependsOn = [];
|
|
|
|
ports = [];
|
|
|
|
volumes = [
|
|
"/media/paperless-media:/mnt/source:ro"
|
|
"paperless-nextcloud-sync_logs:/var/log"
|
|
];
|
|
|
|
environment = let
|
|
user = "PaperlessNextcloudSync";
|
|
in {
|
|
WEBDRIVE_URL = "https://nextcloud.local.chriphost.de/remote.php/dav/files/${user}/";
|
|
WEBDRIVE_USER = "${user}";
|
|
|
|
LC_ALL = "de_DE.UTF-8";
|
|
TZ = "Europe/Berlin";
|
|
};
|
|
|
|
environmentFiles = [
|
|
config.sops.templates."paperless-nextcloud-sync_secrets.env".path
|
|
];
|
|
|
|
extraOptions = [
|
|
"--privileged"
|
|
"--device=/dev/fuse:/dev/fuse:rwm"
|
|
"--net=behind-nginx"
|
|
];
|
|
};
|
|
|
|
paperless-redis = {
|
|
image = "redis:7";
|
|
autoStart = true;
|
|
|
|
login = {
|
|
# Uses DockerHub by default
|
|
# registry = "";
|
|
|
|
# DockerHub Credentials
|
|
username = "christoph.urlacher@protonmail.com";
|
|
passwordFile = "${config.sops.secrets.docker-password.path}";
|
|
};
|
|
|
|
dependsOn = [];
|
|
|
|
ports = [];
|
|
|
|
volumes = [
|
|
"paperless-redis_data:/data"
|
|
];
|
|
|
|
environment = {};
|
|
|
|
extraOptions = [
|
|
"--net=behind-nginx"
|
|
];
|
|
};
|
|
|
|
paperless-postgres = {
|
|
image = "postgres:15";
|
|
autoStart = true;
|
|
|
|
login = {
|
|
# Uses DockerHub by default
|
|
# registry = "";
|
|
|
|
# DockerHub Credentials
|
|
username = "christoph.urlacher@protonmail.com";
|
|
passwordFile = "${config.sops.secrets.docker-password.path}";
|
|
};
|
|
|
|
dependsOn = [];
|
|
|
|
ports = [];
|
|
|
|
volumes = [
|
|
"paperless-postgres_data:/var/lib/postgresql/data"
|
|
];
|
|
|
|
environment = {
|
|
POSTGRES_DB = "paperless";
|
|
POSTGRES_USER = "paperless";
|
|
POSTGRES_PASSWORD = "paperless";
|
|
};
|
|
|
|
extraOptions = [
|
|
"--net=behind-nginx"
|
|
];
|
|
};
|
|
|
|
paperless = {
|
|
image = "ghcr.io/paperless-ngx/paperless-ngx:${paperlessVersion}";
|
|
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_FILENAME_FORMAT = "{{ created_year }}/{{ correspondent }}/{{ title }}";
|
|
|
|
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 = [
|
|
"--net=behind-nginx"
|
|
];
|
|
};
|
|
};
|
|
}
|