From ca15ea5e9bc41d4e756a858bd6f84c6deb002faa Mon Sep 17 00:00:00 2001 From: Max Audron Date: Sun, 26 Oct 2025 17:10:11 +0100 Subject: fix slskd stuff --- modules/tlmp/default.nix | 66 +++++++++++++++++++++++++++++++++++++++--------- modules/tlmp/slsk.nix | 23 +++++++++-------- 2 files changed, 67 insertions(+), 22 deletions(-) (limited to 'modules') diff --git a/modules/tlmp/default.nix b/modules/tlmp/default.nix index c70cc5c..9509ad1 100644 --- a/modules/tlmp/default.nix +++ b/modules/tlmp/default.nix @@ -1,8 +1,17 @@ -{ self, config, lib, pkgs, ... }: +{ + self, + config, + lib, + pkgs, + ... +}: with self.lib.nginx; { - imports = [ ./rtorrent.nix ./slsk.nix ]; + imports = [ + ./rtorrent.nix + ./slsk.nix + ]; security.acme.certs = { "media.cocaine.farm" = { @@ -11,11 +20,15 @@ with self.lib.nginx; }; users = { - users.media = { - isSystemUser = true; - group = "media"; + users = { + media = { + isSystemUser = true; + group = "media"; + }; + audron.extraGroups = [ "media" ]; + magin.extraGroups = [ "media" ]; }; - groups.media = {}; + groups.media = { }; }; services.jellyfin = { @@ -32,7 +45,7 @@ with self.lib.nginx; services.sonarr = { enable = true; - package = pkgs.callPackage ./sonarr.nix {}; + package = pkgs.callPackage ./sonarr.nix { }; user = "media"; group = "media"; }; @@ -44,7 +57,15 @@ with self.lib.nginx; services.rutorrent = { enable = true; hostName = "torrent.media.cocaine.farm"; - plugins = lib.mkForce [ "httprpc" "data" "diskspace" "edit" "erasedata" "theme" "trafic" ]; + plugins = lib.mkForce [ + "httprpc" + "data" + "diskspace" + "edit" + "erasedata" + "theme" + "trafic" + ]; nginx.enable = true; }; @@ -68,10 +89,12 @@ with self.lib.nginx; "torrent.media.cocaine.farm" = domainAuth "media.cocaine.farm"; "torrent.local" = { - listen = [{ - addr = "10.10.0.2"; - port = 80; - }]; + listen = [ + { + addr = "10.10.0.2"; + port = 80; + } + ]; serverAliases = [ "phaenn.wg.vapor.systems" ]; @@ -105,6 +128,25 @@ with self.lib.nginx; }; }; + services.nfs = { + server = { + enable = true; + exports = '' + /mnt/media 10.10.0.0/24(rw,fsid=0,no_subtree_check) + ''; + }; + + settings = { + nfsd = { + vers3 = false; + vers4 = true; + "vers4.0" = false; + "vers4.1" = false; + "vers4.2" = true; + }; + }; + }; + networking.hosts = { "10.10.0.2" = [ "torrent.local" ]; }; diff --git a/modules/tlmp/slsk.nix b/modules/tlmp/slsk.nix index 4c170c4..d1e70df 100644 --- a/modules/tlmp/slsk.nix +++ b/modules/tlmp/slsk.nix @@ -15,6 +15,8 @@ with self.lib.nginx; environmentFile = "/etc/secrets/slskd.env"; domain = null; + group = "media"; + settings = { remote_file_management = true; @@ -23,6 +25,12 @@ with self.lib.nginx; incomplete = "/mnt/media/soulseek/incomplete"; }; + permissions = { + file = { + mode = "664"; + }; + }; + soulseek = { listen_ip_address = "0.0.0.0"; listen_port = 50300; @@ -57,7 +65,7 @@ with self.lib.nginx; slots = 100; speed_limit = 750000; }; - members = [ ]; + members = [ "thecumzone" ]; }; }; }; @@ -79,15 +87,15 @@ with self.lib.nginx; }; retention = { - search = 2880; # 2 day + search = 1440; # 2 day transfers = { upload = { - succeeded = 2880; # 2 day + succeeded = 1440; # 2 day errored = 30; cancelled = 5; }; download = { - succeeded = 2880; # 2 day + succeeded = 1440; # 2 day errored = 20160; # 2 weeks cancelled = 5; }; @@ -97,11 +105,6 @@ with self.lib.nginx; }; }; - # VPN Setup - # SLSKD_SLSK_LISTEN_IP_ADDRESS - # SLSKD_SLSK_LISTEN_PORT - users.users.slskd.extraGroups = [ "media" ]; - systemd.services.slskd = { bindsTo = [ "wireguard-torrent.service" ]; after = [ "wireguard-torrent.service" ]; @@ -115,7 +118,7 @@ with self.lib.nginx; ''; serviceConfig = { PrivateNetwork = true; - UMask = "a=rw"; + UMask = "002"; ProtectSystem = lib.mkForce "full"; }; -- cgit v1.2.3