2025-07-08 20:14:39 +03:00
|
|
|
{ config, lib, ... }:
|
|
|
|
let
|
|
|
|
inherit (lib) mkEnableOption mkIf;
|
|
|
|
|
|
|
|
cfg = config.ataraxia.containers.media-stack;
|
2025-07-10 18:39:31 +03:00
|
|
|
pods = config.virtualisation.quadlet.pods;
|
|
|
|
|
2025-07-08 20:14:39 +03:00
|
|
|
nas-path = "/media/nas/media-stack";
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.ataraxia.containers.media-stack = {
|
|
|
|
kavita = mkEnableOption "Enable kavita container";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.kavita {
|
2025-07-10 18:39:31 +03:00
|
|
|
virtualisation.quadlet.containers.kavita = {
|
2025-07-08 20:14:39 +03:00
|
|
|
autoStart = true;
|
2025-07-10 18:39:31 +03:00
|
|
|
containerConfig = {
|
|
|
|
# Tags: 0.8.6, version-v0.8.6.2, v0.8.6.2-ls79
|
|
|
|
image = "docker.io/linuxserver/kavita@sha256:b222e4b2137db2301756d018076d0bfee858077d8af24d709f1f4003d628e580";
|
|
|
|
pod = pods.media-stack.ref;
|
|
|
|
environments = {
|
|
|
|
PUID = "1000";
|
|
|
|
PGID = "100";
|
|
|
|
TZ = "Europe/Moscow";
|
|
|
|
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = "true";
|
|
|
|
};
|
|
|
|
volumes = [
|
|
|
|
"${nas-path}/configs/kavita:/config"
|
|
|
|
"${nas-path}/media/books:/data/books"
|
|
|
|
"${nas-path}/media/comics:/data/comics"
|
|
|
|
"${nas-path}/media/fanfics:/data/fanfics"
|
|
|
|
"${nas-path}/media/manga:/data/manga"
|
|
|
|
"${nas-path}/media/novels:/data/novels"
|
|
|
|
];
|
2025-07-08 20:14:39 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|