From 2cbf65611f8178f1402c78142f7bc440b74d79e1 Mon Sep 17 00:00:00 2001 From: muon Date: Thu, 29 May 2025 08:57:35 +0000 Subject: [PATCH] Add audiobookshelf --- hosts/muho/configuration.nix | 1 + hosts/ports.nix | 5 +++ modules/nixos/server/audio.nix | 57 ++++++++++++++++++++++++++++++++ modules/nixos/server/default.nix | 1 + 4 files changed, 64 insertions(+) create mode 100644 modules/nixos/server/audio.nix diff --git a/hosts/muho/configuration.nix b/hosts/muho/configuration.nix index a404cc7..cb1960b 100644 --- a/hosts/muho/configuration.nix +++ b/hosts/muho/configuration.nix @@ -43,6 +43,7 @@ in { mods.server.chat.enable = false; mods.server.ntfy.enable = true; mods.server.lemmy.enable = true; + mods.server.audio.enable = true; mods.server.dash.enable = false; mods.server.nginx.ports.dash = 3009; diff --git a/hosts/ports.nix b/hosts/ports.nix index 215d18f..537e89b 100644 --- a/hosts/ports.nix +++ b/hosts/ports.nix @@ -17,6 +17,7 @@ chat = 3008; # dash = 3009; ntfy = 3010; + audio = 3011; search = 8081; videos = 8082; @@ -27,6 +28,10 @@ lemmy-api = 5002; lemmy-ui = 5003; pict-rs = 5004; + readarr = 5005; + prowlarr = 5006; + flaresolverr = 5007; + torrent = 5008; }; }; } diff --git a/modules/nixos/server/audio.nix b/modules/nixos/server/audio.nix new file mode 100644 index 0000000..8b1af15 --- /dev/null +++ b/modules/nixos/server/audio.nix @@ -0,0 +1,57 @@ +{ pkgs, lib, config, ... }: +let + cfg = config.mods.server.audio; + arr.read.port = config.mods.server.local.ports.readarr; + arr.prowl.port = config.mods.server.local.ports.prowlarr; + arr.flare.port = config.mods.server.local.ports.flaresolverr; + arr.torrent.port = config.mods.server.local.ports.torrent; + port = config.mods.server.nginx.ports.audio; +in with lib; { + options.mods.server = { + audio = { + enable = mkEnableOption { + default = false; + description = "enables audiobook servers"; + }; + }; + }; + + config = mkIf cfg.enable { + services.readarr = { + enable = true; + openFirewall = true; + settings.server.port = arr.read.port; + }; + + services.prowlarr = { + enable = true; + openFirewall = true; + settings.server.port = arr.prowl.port; + }; + + services.flaresolverr = { + enable = true; + openFirewall = true; + port = arr.flare.port; + }; + + services.transmission = { + enable = true; + openFirewall = true; + openRPCPort = true; + port = arr.torrent.port; + settings = { + download-dir = "/storage1/download"; + rpc-port = arr.torrent.port; + rpc-bind-address = "0.0.0.0"; + }; + }; + + services.audiobookshelf = { + inherit port; + enable = true; + openFirewall = true; + host = "0.0.0.0"; + }; + }; +} diff --git a/modules/nixos/server/default.nix b/modules/nixos/server/default.nix index 3d1168e..a142aa4 100644 --- a/modules/nixos/server/default.nix +++ b/modules/nixos/server/default.nix @@ -23,5 +23,6 @@ ./nvr.nix ./ntfy.nix ./lemmy.nix + ./audio.nix ]; }