add audiobookshelf

This commit is contained in:
xunuwu 2025-05-08 06:52:57 +02:00
parent 8ef95723e5
commit 9203ef365b
5 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1,10 @@
{config, ...}: {
services.audiobookshelf = {
enable = true;
host = "0.0.0.0";
};
services.restic.backups.hopper.paths = [
"/var/lib/${config.services.audiobookshelf.dataDir}"
];
}

View file

@ -42,12 +42,14 @@ in {
jellyfin = mkPublicEntry "jellyfin" "${bridge}:8096"; jellyfin = mkPublicEntry "jellyfin" "${bridge}:8096";
navidrome = mkPublicEntry "navidrome" "unix//var/lib/navidrome/navidrome.sock"; navidrome = mkPublicEntry "navidrome" "unix//var/lib/navidrome/navidrome.sock";
vaultwarden = mkPublicEntry "vw" "${bridge}:${toString config.services.vaultwarden.config.ROCKET_PORT}"; vaultwarden = mkPublicEntry "vw" "${bridge}:${toString config.services.vaultwarden.config.ROCKET_PORT}";
abs = mkPublicEntry "abs" "${bridge}:${toString config.services.audiobookshelf.port}";
slskd = mkPrivateEntry "slskd" "localhost:${toString config.services.slskd.settings.web.port}"; slskd = mkPrivateEntry "slskd" "localhost:${toString config.services.slskd.settings.web.port}";
prometheus = mkPrivateEntry "prometheus" "${bridge}:${toString config.services.prometheus.port}"; prometheus = mkPrivateEntry "prometheus" "${bridge}:${toString config.services.prometheus.port}";
adguard = mkPrivateEntry "adguard" "${bridge}:${toString config.services.adguardhome.port}"; adguard = mkPrivateEntry "adguard" "${bridge}:${toString config.services.adguardhome.port}";
transmission = mkPrivateEntry "transmission" "localhost:${toString config.services.transmission.settings.rpc-port}"; transmission = mkPrivateEntry "transmission" "localhost:${toString config.services.transmission.settings.rpc-port}";
dash = mkPrivateEntry "dash" "${bridge}:${toString config.services.homepage-dashboard.listenPort}"; dash = mkPrivateEntry "dash" "${bridge}:${toString config.services.homepage-dashboard.listenPort}";
absPriv = mkPrivateEntry "abs" "${bridge}:${toString config.services.audiobookshelf.port}";
other = { other = {
useACMEHost = domain; useACMEHost = domain;

View file

@ -4,6 +4,7 @@
imports = [ imports = [
./acme.nix ./acme.nix
./adguard.nix ./adguard.nix
./audiobookshelf.nix
./caddy.nix ./caddy.nix
./homepage.nix ./homepage.nix
./jellyfin.nix ./jellyfin.nix

View file

@ -57,6 +57,12 @@ in {
icon = "navidrome"; icon = "navidrome";
}; };
} }
{
"audiobookshelf" = {
href = "https://abs.${domain}";
icon = "audiobookshelf";
};
}
{ {
"adguard home" = { "adguard home" = {
href = "http://adguard.hopper.xun.host"; href = "http://adguard.hopper.xun.host";

View file

@ -9,6 +9,7 @@
config.services.adguardhome.port config.services.adguardhome.port
config.services.vaultwarden.config.ROCKET_PORT config.services.vaultwarden.config.ROCKET_PORT
config.services.homepage-dashboard.listenPort config.services.homepage-dashboard.listenPort
config.services.audiobookshelf.port
8096 # jellyfin port 8096 # jellyfin port
]; ];
in { in {