mirror of
https://github.com/Superredstone/nixos.git
synced 2026-06-17 15:24:39 +02:00
feat(bomba): move from docker to native services
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
user = "Patrick";
|
||||
baseDir = "/var/lib/nixflix";
|
||||
stateDir = "${baseDir}/state";
|
||||
downloadsDir = "${baseDir}/downloads";
|
||||
mediaDir = "${baseDir}/media";
|
||||
jellyfinPort = 8005;
|
||||
qbittorrentPort = 8006;
|
||||
radarrPort = 8007;
|
||||
prowlarrPort = 8008;
|
||||
seerrPort = 8009;
|
||||
sonarrPort = 8010;
|
||||
hostConfig = {
|
||||
username = user;
|
||||
password._secret = config.sops.secrets.nixflix_password.path;
|
||||
};
|
||||
in
|
||||
{
|
||||
nixflix = {
|
||||
inherit mediaDir downloadsDir stateDir;
|
||||
enable = true;
|
||||
|
||||
caddy = {
|
||||
enable = true;
|
||||
domain = "patrickcanal.it";
|
||||
};
|
||||
|
||||
flaresolverr.enable = true;
|
||||
|
||||
torrentClients.qbittorrent = {
|
||||
enable = true;
|
||||
webuiPort = qbittorrentPort;
|
||||
password._secret = config.sops.secrets.nixflix_password.path;
|
||||
serverConfig = {
|
||||
LegalNotice.Accepted = true;
|
||||
Preferences.WebUI = {
|
||||
MaxAuthenticationFailCount = 0;
|
||||
Username = user;
|
||||
Password_PBKDF2 = "@ByteArray(8AhaCcVLo4H07+dv5uF7pQ==:m+wRuZuzus0N5mkOGXePQmDZfgTpRZiv2OSKbk1pnOA/QPa/JF4Ai1FwVbyZ1PF9odSOSI1UaRQwDMb3MxOKMg==)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
radarr = {
|
||||
enable = true;
|
||||
settings.server.port = radarrPort;
|
||||
config = {
|
||||
apiKey._secret = config.sops.secrets.radarr_api_key.path;
|
||||
hostConfig = hostConfig // {
|
||||
port = radarrPort;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sonarr = {
|
||||
enable = true;
|
||||
settings.server.port = sonarrPort;
|
||||
config = {
|
||||
apiKey._secret = config.sops.secrets.sonarr_api_key.path;
|
||||
hostConfig = hostConfig // {
|
||||
port = sonarrPort;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
prowlarr = {
|
||||
enable = true;
|
||||
settings.server.port = prowlarrPort;
|
||||
config = {
|
||||
apiKey._secret = config.sops.secrets.prowlarr_api_key.path;
|
||||
hostConfig = hostConfig // {
|
||||
port = prowlarrPort;
|
||||
};
|
||||
indexers = [
|
||||
{
|
||||
name = "Il Corsaro Blu";
|
||||
username = "Petrich";
|
||||
password._secret = config.sops.secrets.indexers_ilcorsaroblu_password.path;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
seerr = {
|
||||
enable = true;
|
||||
port = seerrPort;
|
||||
apiKey._secret = config.sops.secrets.seerr_api_key.path;
|
||||
};
|
||||
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
apiKey._secret = config.sops.secrets.jellyfin_api_key.path;
|
||||
network = {
|
||||
knownProxies = [ "127.0.0.1" ];
|
||||
internalHttpPort = jellyfinPort;
|
||||
};
|
||||
users."${user}" = {
|
||||
mutable = false;
|
||||
policy.isAdministrator = true;
|
||||
password._secret = config.sops.secrets.nixflix_password.path;
|
||||
};
|
||||
libraries = {
|
||||
Movies = {
|
||||
collectionType = "movies";
|
||||
paths = [
|
||||
"${mediaDir}/movies"
|
||||
];
|
||||
};
|
||||
|
||||
Shows = {
|
||||
collectionType = "tvshows";
|
||||
seasonZeroDisplayName = "Specials";
|
||||
paths = [
|
||||
"${mediaDir}/tv"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user