server: initial media server config
This commit is contained in:
parent
05274f898b
commit
7590d9af07
13 changed files with 546 additions and 2 deletions
48
modules/nixos/server/services/media-server/prowlarr.nix
Normal file
48
modules/nixos/server/services/media-server/prowlarr.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf getExe;
|
||||
inherit (config.ooknet.server) media-server;
|
||||
inherit (config.ooknet.server.media-server) storage users groups domain proxy;
|
||||
in {
|
||||
config = mkIf media-server.prowlarr.enable {
|
||||
# we dont use the nixpkgs prowlarr service module because it lacks the option to
|
||||
# declare dataDir, user and group.
|
||||
|
||||
# setup user
|
||||
users.users.prowlarr = {
|
||||
group = groups.prowlarr;
|
||||
home = storage.state.prowlarr;
|
||||
};
|
||||
users.groups.prowlarr = {};
|
||||
|
||||
# basic systemd service
|
||||
systemd = {
|
||||
services.prowlarr = {
|
||||
description = "Prowlarr";
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = users.prowlarr;
|
||||
group = groups.prowlarr;
|
||||
ExecStart = "${getExe pkgs.prowlarr} -nobrowser -data=${storage.state.prowlarr}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
tmpfiles.settings.prowlarrDirs = {
|
||||
"${storage.state.prowlarr}"."d" = {
|
||||
mode = "700";
|
||||
user = users.prowlarr;
|
||||
group = groups.prowlarr;
|
||||
};
|
||||
};
|
||||
};
|
||||
ooknet.server.webserver.caddy.enable = true;
|
||||
services.caddy.virtualHosts."${domain.prowlarr}".extraConfig = proxy.prowlarr;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue