homepage integrations: *arrs, jellyfin, kavita

This commit is contained in:
2024-09-05 23:18:45 -06:00
parent c3cbfffe66
commit 667128e3fe
4 changed files with 115 additions and 14 deletions

View File

@@ -12,6 +12,16 @@ in {
listenPort = port;
environmentFile = config.sops.secrets.homepage.path;
settings = {
layout = {
"Multimedia" = {
style = "row";
columns = 3;
};
"Piracy" = {
style = "row";
columns = 4;
};
};
background =
"https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80";
};
@@ -33,12 +43,24 @@ in {
};
}
];
services = [{
"Multimedia" = [
{ inherit (services) Audiobookshelf; }
{ inherit (services) Jellyfin; }
];
}];
services = [
{
"Multimedia" = [
{ inherit (services) Jellyfin; }
{ inherit (services) Audiobookshelf; }
{ inherit (services) Kavita; }
];
}
{
"Piracy" = [
{ inherit (services) Sonarr; }
{ inherit (services) Radarr; }
{ inherit (services) Lidarr; }
{ inherit (services) Bazarr; }
{ inherit (services) Prowlarr; }
];
}
];
};
nginx.virtualHosts."home.${config.my.domain}" = proxyReverse port // { };
};

View File

@@ -8,12 +8,15 @@
key = "{{HOMEPAGE_VAR_AUDIOBOOKSHELF}}";
};
};
Jellyfin = lib.mkIf config.my.servers.jellyfin.enable {
icon = "${config.my.servers.jellyfin.name}.png";
href = config.my.servers.jellyfin.url;
Jellyfin = let
name = "jellyfin";
url = "https://flix.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = config.my.servers.jellyfin.name;
url = config.my.servers.jellyfin.url;
type = name;
url = url;
key = "{{HOMEPAGE_VAR_JELLYFIN}}";
enableBlocks = true;
enableNowPlaying = true;
@@ -22,4 +25,79 @@
expandOneStreamToTwoRows = false;
};
};
Sonarr = let
name = "sonarr";
url = "https://series.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
key = "{{HOMEPAGE_VAR_SONARR}}";
enableQueue = true;
};
};
Radarr = let
name = "radarr";
url = "https://movies.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
key = "{{HOMEPAGE_VAR_RADARR}}";
enableQueue = true;
};
};
Lidarr = let
name = "lidarr";
url = "https://music.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
key = "{{HOMEPAGE_VAR_LIDARR}}";
};
};
Prowlarr = let
name = "prowlarr";
url = "https://indexer.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
key = "{{HOMEPAGE_VAR_PROWLARR}}";
};
};
Bazarr = let
name = "bazarr";
url = "https://subs.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
key = "{{HOMEPAGE_VAR_BAZARR}}";
};
};
Kavita = let
name = "kavita";
url = "https://library.servidos.lat";
in {
icon = "${name}.png";
href = url;
widget = {
type = name;
url = url;
username = "{{HOMEPAGE_VAR_KAVITA_USERNAME}}";
password = "{{HOMEPAGE_VAR_KAVITA_PASSWORD}}";
};
};
}