74 lines
2 KiB
Nix
74 lines
2 KiB
Nix
|
|
{ pkgs, ... }:
|
||
|
|
{
|
||
|
|
project.name = "paperless";
|
||
|
|
|
||
|
|
networks.paperless.external = false;
|
||
|
|
|
||
|
|
services = {
|
||
|
|
redis = {
|
||
|
|
service = {
|
||
|
|
image = "redis:7";
|
||
|
|
container_name = "paperless-redis";
|
||
|
|
restart = "unless-stopped";
|
||
|
|
networks = [ "paperless" ];
|
||
|
|
volumes = [
|
||
|
|
"/var/paperless/redis:/data"
|
||
|
|
];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
db = {
|
||
|
|
service = {
|
||
|
|
image = "postgres:16";
|
||
|
|
container_name = "paperless-db";
|
||
|
|
restart = "unless-stopped";
|
||
|
|
networks = [ "paperless" ];
|
||
|
|
volumes = [
|
||
|
|
"/var/paperless/postgres:/var/lib/postgresql/data"
|
||
|
|
];
|
||
|
|
environment = {
|
||
|
|
POSTGRES_DB = "paperless";
|
||
|
|
POSTGRES_USER = "paperless";
|
||
|
|
POSTGRES_PASSWORD = "paperless";
|
||
|
|
};
|
||
|
|
healthcheck = {
|
||
|
|
test = [ "CMD-SHELL" "pg_isready -U paperless -d paperless" ];
|
||
|
|
interval = "5s";
|
||
|
|
timeout = "5s";
|
||
|
|
retries = 20;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
webserver = {
|
||
|
|
service = {
|
||
|
|
image = "ghcr.io/paperless-ngx/paperless-ngx:latest";
|
||
|
|
container_name = "paperless-ngx";
|
||
|
|
restart = "unless-stopped";
|
||
|
|
networks = [ "paperless" ];
|
||
|
|
depends_on = [ "db" "redis" ];
|
||
|
|
ports = [ "127.0.0.1:8000:8000" ];
|
||
|
|
volumes = [
|
||
|
|
"/var/paperless/data:/usr/src/paperless/data"
|
||
|
|
"/var/paperless/media:/usr/src/paperless/media"
|
||
|
|
"/var/paperless/export:/usr/src/paperless/export"
|
||
|
|
"/var/paperless/consume:/usr/src/paperless/consume"
|
||
|
|
];
|
||
|
|
environment = {
|
||
|
|
PAPERLESS_REDIS = "redis://redis:6379";
|
||
|
|
PAPERLESS_DBHOST = "db";
|
||
|
|
PAPERLESS_DBNAME = "paperless";
|
||
|
|
PAPERLESS_DBUSER = "paperless";
|
||
|
|
PAPERLESS_DBPASS = "paperless";
|
||
|
|
PAPERLESS_URL = "https://paperless.philippeterson.com";
|
||
|
|
PAPERLESS_TIME_ZONE = "America/Anchorage";
|
||
|
|
PAPERLESS_OCR_LANGUAGE = "eng";
|
||
|
|
USERMAP_UID = "1000";
|
||
|
|
USERMAP_GID = "1000";
|
||
|
|
};
|
||
|
|
env_file = [ "/run/agenix/paperless" ];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|