infra/nix/hosts/loki/modules/containers/stirling.nix
2026-01-05 23:09:19 +01:00

46 lines
1.3 KiB
Nix

{
config,
pkgs,
...
}:
let
baseDir = "/DATA/services/stirlingpdf";
# version = "0.22.8";
# version = "0.26.1";
# version = "0.30.1";
# version = "1.0.1@sha256:3655ddd624a90c01dd18726896550f90731dc4b6918d3ba203469a8665db22b1";
version = "1.6.0@sha256:1f73a8f898fe269cbbccea3be577064dd87fc4334de349fcc5b1afa1bcebf240";
usr = "stirlingpdf";
# config.deets.stirlingpdf.port = 8091;
in
{
virtualisation.oci-containers.containers.stirlingpdf = {
autoStart = true;
image = "ghcr.io/stirling-tools/stirling-pdf:${version}";
environment = {
TZ = "Europe/Vienna";
UID = toString config.users.users.${toString usr}.uid;
GID = toString config.users.groups.${toString usr}.gid;
DOCKER_ENABLE_SECURITY = "false";
INSTALL_BOOK_AND_ADVANCED_HTML_OPS = "false";
};
ports = [ "127.0.0.1:8091:8080" ];
volumes = [
"${baseDir}/configs:/configs"
"${baseDir}/trainingData:/usr/share/tessdata"
"${baseDir}/logs:/logs"
# "/var/log/stirlingpdf:/logs"
];
};
# stirlingpdf user + group.
users.users.${toString usr} = {
group = usr;
home = "/etc/" + usr;
createHome = false;
isSystemUser = true;
extraGroups = [ "users" ];
autoSubUidGidRange = true;
};
users.groups.${toString usr} = { };
}