nixos-config/configurations/camelot/jellyfin.nix

60 lines
1.5 KiB
Nix
Raw Normal View History

2024-01-23 21:16:29 +01:00
{ extraInfo, pkgs, ... }:
2023-11-23 21:55:37 +01:00
{
services.jellyfin.enable = true;
2023-11-24 18:45:27 +01:00
services.nginx.virtualHosts.${extraInfo.jellyfinURI} = {
enableACME = true;
forceSSL = true;
locations = {
"/" = {
proxyPass = "http://localhost:8096";
};
"/socket" = {
proxyPass = "http://localhost:8096";
proxyWebsockets = true;
};
};
};
2023-11-24 22:12:02 +01:00
services.sonarr = {
enable = true;
openFirewall = true;
};
2023-11-24 22:28:06 +01:00
services.radarr = {
enable = true;
openFirewall = true;
};
# Torrent client
services.deluge = {
enable = true;
web.enable = true;
};
systemd.services.deluged.bindsTo = [ "wireguard-wg1.service" ];
systemd.services.deluged.requires = [ "network-online.target" ];
systemd.services.deluged.serviceConfig.NetworkNamespacePath = "/var/run/netns/wg1ns";
2024-01-23 21:16:29 +01:00
systemd.services.deluged.serviceConfig.PrivateNetwork = false;
systemd.sockets.deluged-proxy = {
description = "Socket for deluge-web to deluged in network namespace";
listenStreams = [ "58846" ];
wantedBy = [ "sockets.target" ];
};
systemd.services.deluged-proxy = {
description = "Proxy for deluge-web to deluged in network namespace";
requires = [ "deluged.service" "deluged-proxy.socket" ];
after = [ "deluged.service" "deluged-proxy.socket" ];
unitConfig.JoinsNamespaceOf = "deluged.service";
serviceConfig = {
User = "deluge";
Group = "deluge";
ExecStart = "${pkgs.systemd}/lib/systemd/systemd-socket-proxyd 127.0.0.1:58846";
PrivateNetwork = true;
};
};
2023-11-23 21:55:37 +01:00
}