66 lines
1.6 KiB
Nix
66 lines
1.6 KiB
Nix
# *arr is a collection of media management applications.
|
|
# See https://github.com/rasmus-kirk/nixarr
|
|
# Setup guide: https://nixarr.com/wiki/setup/
|
|
{config, ...}: let
|
|
domain = "hadi.diy";
|
|
mkVirtualHost = port: {
|
|
useACMEHost = domain;
|
|
forceSSL = true;
|
|
locations."/" = {proxyPass = "http://127.0.0.1:${toString port}";};
|
|
};
|
|
username = config.var.username;
|
|
in {
|
|
# Add my secrets
|
|
sops.secrets = {
|
|
recyclarr = {
|
|
owner = "recyclarr";
|
|
mode = "0777";
|
|
};
|
|
wireguard-pia = {
|
|
group = "media";
|
|
mode = "0600";
|
|
};
|
|
};
|
|
|
|
nixarr = {
|
|
enable = true;
|
|
|
|
mediaUsers = [username];
|
|
mediaDir = "/mnt/data/media";
|
|
stateDir = "/mnt/data/.state/nixarr";
|
|
|
|
vpn = {
|
|
enable = true;
|
|
wgConf = config.sops.secrets.wireguard-pia.path;
|
|
};
|
|
|
|
jellyfin.enable = true;
|
|
jellyseerr.enable = true;
|
|
prowlarr.enable = true;
|
|
radarr.enable = true;
|
|
sonarr.enable = true;
|
|
bazarr.enable = true;
|
|
readarr.enable = true;
|
|
transmission = {
|
|
enable = true;
|
|
extraSettings = {trash-original-torrent-files = true;};
|
|
vpn.enable = true;
|
|
};
|
|
recyclarr = {
|
|
enable = true;
|
|
configFile = config.sops.secrets.recyclarr.path;
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts = {
|
|
"jellyfin.${domain}" = mkVirtualHost 8096;
|
|
"jellyseerr.${domain}" = mkVirtualHost 5055;
|
|
"bazarr.${domain}" = mkVirtualHost 6767;
|
|
"prowlarr.${domain}" = mkVirtualHost 9696;
|
|
"radarr.${domain}" = mkVirtualHost 7878;
|
|
"sonarr.${domain}" = mkVirtualHost 8989;
|
|
"transmission.${domain}" = mkVirtualHost 9091;
|
|
"readarr.${domain}" = mkVirtualHost 8787;
|
|
};
|
|
}
|