aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2025-10-26 17:10:11 +0100
committerMax Audron <audron@cocaine.farm>2025-10-26 17:10:11 +0100
commitca15ea5e9bc41d4e756a858bd6f84c6deb002faa (patch)
tree8f35f81b46be89487f8dcd7cfc3b8120bb5a82cc
parentuh (diff)
fix slskd stuff
-rw-r--r--modules/tlmp/default.nix66
-rw-r--r--modules/tlmp/slsk.nix23
2 files changed, 67 insertions, 22 deletions
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";
};