127 lines
2.7 KiB
Nix
127 lines
2.7 KiB
Nix
{ config, lib, pkgs, ...}:
|
|
|
|
{
|
|
users.groups.media = {};
|
|
|
|
#
|
|
# Downloading movies
|
|
services.radarr = {
|
|
enable = true;
|
|
openFirewall = false;
|
|
dataDir = "/var/lib/radarr";
|
|
group = "media";
|
|
};
|
|
|
|
services.caddy.virtualHosts."radarr.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:7878
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
|
|
#
|
|
# Downloading shows
|
|
services.sonarr = {
|
|
enable = true;
|
|
openFirewall = false;
|
|
dataDir = "/var/lib/sonarr";
|
|
group = "media";
|
|
};
|
|
|
|
services.caddy.virtualHosts."sonarr.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:8989
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
|
|
#
|
|
# Managing Torrent sources
|
|
services.prowlarr = {
|
|
enable = true;
|
|
openFirewall = false;
|
|
};
|
|
|
|
services.caddy.virtualHosts."prowlarr.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:9696
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
|
|
#
|
|
# Finding subtitles
|
|
services.bazarr = {
|
|
enable = true;
|
|
openFirewall = false;
|
|
group = "media";
|
|
};
|
|
|
|
services.caddy.virtualHosts."bazarr.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:6767
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
|
|
#
|
|
# Downloading torrents
|
|
services.deluge = {
|
|
enable = true;
|
|
web.enable = true;
|
|
web.openFirewall = false;
|
|
group = "media";
|
|
|
|
declarative = true;
|
|
authFile = "/var/lib/deluge/auth";
|
|
config = {
|
|
download_location = "/media/torrents/";
|
|
torrentfiles_location = "/media/torrents/files/";
|
|
copy_torrent_file = true;
|
|
|
|
allow_remote = true;
|
|
random_port = true;
|
|
upnp = true;
|
|
|
|
max_active_seeding = 5;
|
|
max_active_downloading = 3;
|
|
max_active_limit = 8;
|
|
|
|
max_download_speed = -1;
|
|
max_upload_speed = 10000; # 10 MiB/s
|
|
new_release_check = false;
|
|
enabled_plugins = [
|
|
"Label"
|
|
];
|
|
};
|
|
};
|
|
|
|
services.caddy.virtualHosts."deluge.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:8112
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
|
|
#
|
|
# Requesting Frontend
|
|
services.jellyseerr = {
|
|
enable = true;
|
|
port = 5055;
|
|
openFirewall = false;
|
|
package = pkgs.jellyseerr;
|
|
};
|
|
|
|
services.caddy.virtualHosts."jellyseer.${config.homelab.domain}" = {
|
|
useACMEHost = config.homelab.domain;
|
|
extraConfig = ''
|
|
reverse_proxy http://localhost:5055
|
|
import block_non_private_ips
|
|
'';
|
|
};
|
|
}
|