feat: install readarr
This commit is contained in:
parent
b5c3d6419c
commit
7af587d546
5 changed files with 131 additions and 75 deletions
|
|
@ -14,7 +14,6 @@
|
||||||
"karakeep"
|
"karakeep"
|
||||||
"lidarr"
|
"lidarr"
|
||||||
"miniflux"
|
"miniflux"
|
||||||
"radicale"
|
|
||||||
"nginx"
|
"nginx"
|
||||||
"ntfy-sh"
|
"ntfy-sh"
|
||||||
"paperless"
|
"paperless"
|
||||||
|
|
@ -22,6 +21,7 @@
|
||||||
"qbittorrent"
|
"qbittorrent"
|
||||||
"radarr"
|
"radarr"
|
||||||
"radicale"
|
"radicale"
|
||||||
|
"readarr"
|
||||||
"sonarr"
|
"sonarr"
|
||||||
"syncthing"
|
"syncthing"
|
||||||
"vaultwarden"
|
"vaultwarden"
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ let
|
||||||
"paperless"
|
"paperless"
|
||||||
"prowlarr"
|
"prowlarr"
|
||||||
"radarr"
|
"radarr"
|
||||||
|
"readarr"
|
||||||
"sonarr"
|
"sonarr"
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
];
|
];
|
||||||
|
|
@ -41,74 +42,8 @@ in
|
||||||
listenPort = port;
|
listenPort = port;
|
||||||
allowedHosts = "homepage-dashboard.fi33.buzz";
|
allowedHosts = "homepage-dashboard.fi33.buzz";
|
||||||
services = [
|
services = [
|
||||||
# keep-sorted start block=yes
|
|
||||||
{
|
{
|
||||||
"Media Management" = [
|
"Media Management" = [
|
||||||
{
|
|
||||||
"Immich" = {
|
|
||||||
"description" = "Photo backup";
|
|
||||||
"icon" = "immich.svg";
|
|
||||||
"href" = "https://immich.fi33.buzz/";
|
|
||||||
"widget" = {
|
|
||||||
"type" = "immich";
|
|
||||||
"fields" = [
|
|
||||||
"users"
|
|
||||||
"photos"
|
|
||||||
"videos"
|
|
||||||
"storage"
|
|
||||||
];
|
|
||||||
"url" = "https://immich.fi33.buzz/";
|
|
||||||
"version" = 2;
|
|
||||||
"key" = "@immich@";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"Miniflux" = {
|
|
||||||
"description" = "RSS aggregator";
|
|
||||||
"icon" = "miniflux.svg";
|
|
||||||
"href" = "https://miniflux.fi33.buzz/";
|
|
||||||
"widget" = {
|
|
||||||
"type" = "miniflux";
|
|
||||||
"url" = "https://miniflux.fi33.buzz/";
|
|
||||||
"key" = "@miniflux@";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"Paperless" = {
|
|
||||||
"description" = "Digital filing cabinet";
|
|
||||||
"icon" = "paperless.svg";
|
|
||||||
"href" = "https://paperless.fi33.buzz/";
|
|
||||||
"widget" = {
|
|
||||||
"type" = "paperlessngx";
|
|
||||||
"url" = "https://paperless.fi33.buzz/";
|
|
||||||
"username" = "admin";
|
|
||||||
"password" = "@paperless@";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"Media Streaming" = [
|
|
||||||
{
|
|
||||||
"Jellyfin" = {
|
|
||||||
"description" = "Media streaming";
|
|
||||||
"icon" = "jellyfin.svg";
|
|
||||||
"href" = "https://jellyfin.fi33.buzz/";
|
|
||||||
"widget" = {
|
|
||||||
"type" = "jellyfin";
|
|
||||||
"url" = "https://jellyfin.fi33.buzz/";
|
|
||||||
"key" = "@jellyfin@";
|
|
||||||
"enableBlocks" = true;
|
|
||||||
"enableNowPlaying" = true;
|
|
||||||
"enableUser" = true;
|
|
||||||
"showEpisodeNumber" = true;
|
|
||||||
"expandOneStreamToTwoRows" = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
"Radarr" = {
|
"Radarr" = {
|
||||||
"description" = "Movie collection manager";
|
"description" = "Movie collection manager";
|
||||||
|
|
@ -148,6 +83,19 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"Readarr" = {
|
||||||
|
"description" = "Book collection manager";
|
||||||
|
"icon" = "readarr.svg";
|
||||||
|
"href" = "https://readarr.fi33.buzz/";
|
||||||
|
"widget" = {
|
||||||
|
"type" = "readarr";
|
||||||
|
"url" = "https://readarr.fi33.buzz/";
|
||||||
|
"key" = "@readarr@";
|
||||||
|
"enableQueue" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"Prowlarr" = {
|
"Prowlarr" = {
|
||||||
"description" = "Indexer management tool";
|
"description" = "Indexer management tool";
|
||||||
|
|
@ -169,6 +117,71 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"Media Streaming" = [
|
||||||
|
{
|
||||||
|
"Immich" = {
|
||||||
|
"description" = "Photo backup";
|
||||||
|
"icon" = "immich.svg";
|
||||||
|
"href" = "https://immich.fi33.buzz/";
|
||||||
|
"widget" = {
|
||||||
|
"type" = "immich";
|
||||||
|
"fields" = [
|
||||||
|
"users"
|
||||||
|
"photos"
|
||||||
|
"videos"
|
||||||
|
"storage"
|
||||||
|
];
|
||||||
|
"url" = "https://immich.fi33.buzz/";
|
||||||
|
"version" = 2;
|
||||||
|
"key" = "@immich@";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Jellyfin" = {
|
||||||
|
"description" = "Media streaming";
|
||||||
|
"icon" = "jellyfin.svg";
|
||||||
|
"href" = "https://jellyfin.fi33.buzz/";
|
||||||
|
"widget" = {
|
||||||
|
"type" = "jellyfin";
|
||||||
|
"url" = "https://jellyfin.fi33.buzz/";
|
||||||
|
"key" = "@jellyfin@";
|
||||||
|
"enableBlocks" = true;
|
||||||
|
"enableNowPlaying" = true;
|
||||||
|
"enableUser" = true;
|
||||||
|
"showEpisodeNumber" = true;
|
||||||
|
"expandOneStreamToTwoRows" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Miniflux" = {
|
||||||
|
"description" = "RSS aggregator";
|
||||||
|
"icon" = "miniflux.svg";
|
||||||
|
"href" = "https://miniflux.fi33.buzz/";
|
||||||
|
"widget" = {
|
||||||
|
"type" = "miniflux";
|
||||||
|
"url" = "https://miniflux.fi33.buzz/";
|
||||||
|
"key" = "@miniflux@";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Paperless" = {
|
||||||
|
"description" = "Digital filing cabinet";
|
||||||
|
"icon" = "paperless.svg";
|
||||||
|
"href" = "https://paperless.fi33.buzz/";
|
||||||
|
"widget" = {
|
||||||
|
"type" = "paperlessngx";
|
||||||
|
"url" = "https://paperless.fi33.buzz/";
|
||||||
|
"username" = "admin";
|
||||||
|
"password" = "@paperless@";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"Services" = [
|
"Services" = [
|
||||||
{
|
{
|
||||||
|
|
@ -226,7 +239,6 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
# keep-sorted end
|
|
||||||
];
|
];
|
||||||
settings = {
|
settings = {
|
||||||
title = "Mission Control";
|
title = "Mission Control";
|
||||||
|
|
@ -234,13 +246,6 @@ in
|
||||||
color = "neutral";
|
color = "neutral";
|
||||||
headerStyle = "clean";
|
headerStyle = "clean";
|
||||||
layout = [
|
layout = [
|
||||||
{
|
|
||||||
"Media Management" = {
|
|
||||||
style = "row";
|
|
||||||
columns = 3;
|
|
||||||
useEqualHeights = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
"Media Streaming" = {
|
"Media Streaming" = {
|
||||||
style = "row";
|
style = "row";
|
||||||
|
|
@ -254,6 +259,13 @@ in
|
||||||
columns = 3;
|
columns = 3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"Media Management" = {
|
||||||
|
style = "row";
|
||||||
|
columns = 3;
|
||||||
|
useEqualHeights = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"Utilities" = {
|
"Utilities" = {
|
||||||
style = "row";
|
style = "row";
|
||||||
|
|
|
||||||
33
modules/nixos/features/readarr.nix
Normal file
33
modules/nixos/features/readarr.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
let
|
||||||
|
port = 5016;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
readarr = {
|
||||||
|
enable = true;
|
||||||
|
dataDir = "/srv/readarr";
|
||||||
|
settings.server = {
|
||||||
|
inherit port;
|
||||||
|
};
|
||||||
|
group = "media";
|
||||||
|
};
|
||||||
|
|
||||||
|
# borgmatic.settings = {
|
||||||
|
# source_directories = [ ];
|
||||||
|
# postgresql_databases = [
|
||||||
|
# {
|
||||||
|
# name = "readarr";
|
||||||
|
# hostname = "localhost";
|
||||||
|
# username = "root";
|
||||||
|
# password = "{credential systemd borgmatic-pg}";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
nginx.virtualHosts."readarr.fi33.buzz" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "fi33.buzz";
|
||||||
|
locations."/".proxyPass = "http://localhost:${toString port}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
secrets/readarr.age
Normal file
10
secrets/readarr.age
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 qLT+DQ qeJ25W5TGvWY8xc1I5sjjtP/98nGqoRMIFk6xLIbmi8
|
||||||
|
RhUcEjz6mFp6uNVOpOgg6fPyL2cyrZH1ZWJTrax2xOE
|
||||||
|
-> ssh-ed25519 7+xRyQ jhJX/0+ZO+teoM2rUmdyFuI9V+tMe5kQaaHQFxwBGSU
|
||||||
|
fJmXSc/c3lth0cQgx8p/7G0WrnfgioSs8OcRa56B2s0
|
||||||
|
-> ssh-ed25519 LtK9yQ UH9T6lRLG0pi0P84B9Zs/22nCKAoOAwL6KAmj+536U4
|
||||||
|
h2DEqoPLgFqmVZOk/RhAIuifCexqt3ZFsIsCDm5KI3M
|
||||||
|
--- 6FY4tnGR8EIQyCWc3Xa3t8EqwcynoORmZqsp9zWUzZM
|
||||||
|
õ¡ˆÇnÄ<6E>Æ]Z0ñŽ—råTƒªÞi:EÇE!<21>ð™
|
||||||
|
uB{4cüà£fùvÖÞŸÜKÌj^2/`<60>¼
|
||||||
|
|
@ -30,6 +30,7 @@ in
|
||||||
"prowlarr.age".publicKeys = users;
|
"prowlarr.age".publicKeys = users;
|
||||||
"radarr.age".publicKeys = users;
|
"radarr.age".publicKeys = users;
|
||||||
"radicale.age".publicKeys = users;
|
"radicale.age".publicKeys = users;
|
||||||
|
"readarr.age".publicKeys = users;
|
||||||
"sonarr.age".publicKeys = users;
|
"sonarr.age".publicKeys = users;
|
||||||
"vaultwarden-admin.age".publicKeys = users;
|
"vaultwarden-admin.age".publicKeys = users;
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue