feat: install readarr
This commit is contained in:
parent
b5c3d6419c
commit
7af587d546
5 changed files with 131 additions and 75 deletions
|
|
@ -30,6 +30,7 @@ let
|
|||
"paperless"
|
||||
"prowlarr"
|
||||
"radarr"
|
||||
"readarr"
|
||||
"sonarr"
|
||||
# keep-sorted end
|
||||
];
|
||||
|
|
@ -41,74 +42,8 @@ in
|
|||
listenPort = port;
|
||||
allowedHosts = "homepage-dashboard.fi33.buzz";
|
||||
services = [
|
||||
# keep-sorted start block=yes
|
||||
{
|
||||
"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" = {
|
||||
"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" = {
|
||||
"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" = [
|
||||
{
|
||||
|
|
@ -226,7 +239,6 @@ in
|
|||
}
|
||||
];
|
||||
}
|
||||
# keep-sorted end
|
||||
];
|
||||
settings = {
|
||||
title = "Mission Control";
|
||||
|
|
@ -234,13 +246,6 @@ in
|
|||
color = "neutral";
|
||||
headerStyle = "clean";
|
||||
layout = [
|
||||
{
|
||||
"Media Management" = {
|
||||
style = "row";
|
||||
columns = 3;
|
||||
useEqualHeights = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
"Media Streaming" = {
|
||||
style = "row";
|
||||
|
|
@ -254,6 +259,13 @@ in
|
|||
columns = 3;
|
||||
};
|
||||
}
|
||||
{
|
||||
"Media Management" = {
|
||||
style = "row";
|
||||
columns = 3;
|
||||
useEqualHeights = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
"Utilities" = {
|
||||
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}";
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue