kavita
This commit is contained in:
parent
b11e8347c1
commit
5306a9a633
2 changed files with 50 additions and 0 deletions
|
|
@ -8,6 +8,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./jellyfin.nix
|
./jellyfin.nix
|
||||||
|
./kavita.nix
|
||||||
./navidrome.nix
|
./navidrome.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
modules/server/media/kavita.nix
Normal file
49
modules/server/media/kavita.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
server.media.kavita = {
|
||||||
|
enable = lib.mkEnableOption "enable kavita";
|
||||||
|
port = lib.mkOption {
|
||||||
|
default = 3812;
|
||||||
|
description = "kavita port";
|
||||||
|
};
|
||||||
|
public = lib.mkEnableOption "make kavita public";
|
||||||
|
subdomain = lib.mkOption {
|
||||||
|
default = "books";
|
||||||
|
description = "kavita subdomain";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
services = {
|
||||||
|
kavita = {
|
||||||
|
enable = config.server.media.kavita.enable;
|
||||||
|
user = config.user.userName;
|
||||||
|
settings = {
|
||||||
|
Port = config.server.media.kavita.port;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nginx = {
|
||||||
|
virtualHosts = {
|
||||||
|
"${config.server.media.kavita.subdomain}.${config.networking.domain}" =
|
||||||
|
if config.server.media.kavita.public then
|
||||||
|
{
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${toString config.server.media.kavita.port}";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue