71 lines
2.0 KiB
Nix
71 lines
2.0 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
baseDir = "/DATA/services/audiobookshelf";
|
|
# mediaDir = "/DATA/media";
|
|
mediaDir = "/media";
|
|
# version = "2.8.1";
|
|
# version = "2.9.0";
|
|
# version = "2.11.0";
|
|
# version = "2.12.0";
|
|
# version = "2.13.4";
|
|
# version = "2.16.2";
|
|
# version = "2.17.0";
|
|
# version = "2.17.1";
|
|
# version = "2.17.7";
|
|
# version = "2.18.0";
|
|
# version = "2.19.0";
|
|
# version = "2.19.5";
|
|
# version = "2.20.0";
|
|
# version = "2.21.0";
|
|
# version = "2.22.0";
|
|
# version = "2.23.0";
|
|
# version = "2.24.0";
|
|
# version = "2.25.1";
|
|
# version = "2.26.0";
|
|
# version = "2.26.1";
|
|
# version = "2.27.0@sha256:f60a19bb94a9fc763212be0116502b0c2cee1da655c9320137a3020fb1ed2dca ";
|
|
# version = "2.29.0@sha256:dd4a3079d26bfe9f0ea63de3e3eff483dfa25fef05ef850a5a9d121dca3794b2";
|
|
# version = "2.30.0@sha256:6fbd7dc95d53c6e168ce69e760b87c334e3b9ba88bf7b8531ed5a116d5d6da03";
|
|
version = "2.31.0@sha256:e23adb24848d99d19cd1e251aee4e1e12ed4f5effc8ccb21754b062b6a06cf66";
|
|
# p = config.sops.placeholder;
|
|
usr = "abs";
|
|
in
|
|
{
|
|
# Audiobookshelf
|
|
virtualisation.oci-containers.containers.audiobookshelf = {
|
|
autoStart = true;
|
|
image = "ghcr.io/advplyr/audiobookshelf:${version}";
|
|
environment = {
|
|
TZ = "Europe/Vienna";
|
|
AUDIOBOOKSHELF_UID = toString config.users.users.${toString usr}.uid;
|
|
AUDIOBOOKSHELF_GID = toString config.users.groups.${toString usr}.gid;
|
|
};
|
|
ports = [ "127.0.0.1:13378:80" ];
|
|
volumes = [
|
|
"${mediaDir}/audiobooks:/audiobooks"
|
|
"${mediaDir}/podcasts:/podcasts"
|
|
"${baseDir}/config:/config"
|
|
"${baseDir}/audiobooks-meta:/metadata"
|
|
];
|
|
};
|
|
# Audiobookshelf user + group.
|
|
users.users.${toString usr} = {
|
|
group = usr;
|
|
home = "/etc/" + usr;
|
|
createHome = false;
|
|
isSystemUser = true;
|
|
extraGroups = [ "users" ];
|
|
autoSubUidGidRange = true;
|
|
};
|
|
users.groups.${toString usr} = { };
|
|
|
|
systemd.services.podman-audiobookshelf.serviceConfig = {
|
|
Restart = "always";
|
|
RestartSec = 30;
|
|
};
|
|
}
|