From 7cc7cea0637ca556e7d783a1c098fa787575a402 Mon Sep 17 00:00:00 2001 From: uku Date: Thu, 13 Feb 2025 10:24:20 +0100 Subject: [PATCH] feat(etna): add slskd --- secrets/etna/slskdEnv.age | 17 +++++++++++++++++ secrets/secrets.nix | 1 + systems/etna/default.nix | 1 + systems/etna/slskd.nix | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 secrets/etna/slskdEnv.age create mode 100644 systems/etna/slskd.nix diff --git a/secrets/etna/slskdEnv.age b/secrets/etna/slskdEnv.age new file mode 100644 index 0000000..3f8a5f5 --- /dev/null +++ b/secrets/etna/slskdEnv.age @@ -0,0 +1,17 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsRVAvdHJDY3NKT0lxRG1E +YjBvZ2FYQnhOc01kMzY4bWVsUTJmSzhwZzFnCjJrbldHRkRHZnVrNDFoMUhsc2hY +dEF2NWV2QVRWOEdNY2NlK3gvRGNqRUkKLT4gWDI1NTE5IFlkUmo4KzhVdlhONmgy +NCtXeitTVXZVMDI3WFAyaUNHYXR5RjZrbzhjaGsKdXBmbmsrUXNkRmFtcFZaN1pB +VnZ5OEJjbEh2cGFoMEdwVEVCWEFUOEVOZwotPiBYMjU1MTkgdkYvbDRHNE1SUXBq +YXFGVDZjejB6Y1F4SExDUFJzRkR4cEFNdCt3Y3lUcwordmgybElsQ2YzdDF6N2xK +S2FMdzNjQStodkozQUJ0bklVcW53M3lXYWp3Ci0+IFgyNTUxOSByLy9ybUdYRUcr +QWxoTWZiQUlCNXRaZ3MxVkd1dXlYU05Gblo0aFQ0eERBCkp2Z2V0cmtVOXg4SEY3 +djArSnFmRXoxd0xleGlERjh2bUtPcnMyQ3JwTWcKLS0tIGRCRENMaExLKzJncXVj +cVNOem9ZR01JbXpDUlhmVURkQ1ZYemRWM1JxSVEKvV3s8oMZwia3LLY/3qVpu8I9 +2sBQulbpNoc3gY6g2DDGjlba+8JfMRP1Nxza1NONhQ8DRfk3g/DePI18G5S9xZyT +OfeeKNLl1YqTAjJLJ/lQVPqDd1B903LHD07SdaCLxMz58IzbSb5hocUg+bUCqHmF +m5UDV+oOHy6bnV/XSl5Nnz0cmaqOhOyYVhf5YqQUMzlFA0mGcUvgy7+c/ca3bZum +g8shOz9ABA6Xb71DH19MR8IH7IM8IIk4vmVwgNpzk3C2btf+XBqy8/4PoU1kPSye +vnjG +-----END AGE ENCRYPTED FILE----- diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 493f8b6..1a8f944 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -42,6 +42,7 @@ in "etna/vmauthEnv.age".publicKeys = main ++ [ etna ]; "etna/upsdUserPass.age".publicKeys = main ++ [ etna ]; "etna/cobaltTokens.age".publicKeys = main ++ [ etna ]; + "etna/slskdEnv.age".publicKeys = main ++ [ etna ]; "vesuvio/gatusEnv.age".publicKeys = main ++ [ vesuvio ]; "vesuvio/maddyEnv.age".publicKeys = main ++ [ vesuvio ]; diff --git a/systems/etna/default.nix b/systems/etna/default.nix index 1ed36ce..dc35c90 100644 --- a/systems/etna/default.nix +++ b/systems/etna/default.nix @@ -42,6 +42,7 @@ in ./reposilite.nix ./satisfactory.nix ./shlink.nix + ./slskd.nix ./uku.nix ./ups.nix ./vaultwarden.nix diff --git a/systems/etna/slskd.nix b/systems/etna/slskd.nix new file mode 100644 index 0000000..5f54330 --- /dev/null +++ b/systems/etna/slskd.nix @@ -0,0 +1,36 @@ +{ config, _utils, ... }: +let + envFile = _utils.setupSingleSecret config "slskdEnv" { }; +in +{ + imports = [ envFile.generate ]; + + cfTunnels."slsk.uku.moe" = "http://localhost:5030"; + + services.slskd = { + enable = true; + domain = "slsk.uku.moe"; + environmentFile = envFile.path; + openFirewall = true; + + settings = { + instance_name = "etna"; + shares = { + directories = [ "/data/music" ]; + filters = [ + "\.ini$" + "\.fish$" + ]; + cache = { + storage_mode = "memory"; + retention = 10080; # 1 week + }; + }; + + global.upload = { + slots = 20; + speed_limit = 10240; # 10 MiB + }; + }; + }; +}