feat: replace transmission with qbittorrent

This commit is contained in:
wi11-holdsworth 2025-07-24 20:56:22 +10:00
parent 9fe962f191
commit bdca40fa41
4 changed files with 44 additions and 44 deletions

View file

@ -18,7 +18,7 @@ in
radarr.enable = true; radarr.enable = true;
sonarr.enable = true; sonarr.enable = true;
stirling-pdf.enable = true; stirling-pdf.enable = true;
transmission.enable = true; qbittorrent.enable = true;
vaultwarden.enable = true; vaultwarden.enable = true;
vscode-server.enable = true; vscode-server.enable = true;
webdav.enable = true; webdav.enable = true;

View file

@ -170,15 +170,15 @@ in
}; };
} }
{ {
"Stirling PDF" = { "qBittorrent" = {
"icon" = "stirling-pdf.png"; "icon" = "qbittorrent.png";
"href" = "https://stirling-pdf.fi33.buzz/"; "href" = "https://qbittorrent.fi33.buzz/";
}; };
} }
{ {
"Transmission" = { "Stirling PDF" = {
"icon" = "transmission.png"; "icon" = "stirling-pdf.png";
"href" = "https://transmission.fi33.buzz/"; "href" = "https://stirling-pdf.fi33.buzz/";
}; };
} }
{ {

View file

@ -0,0 +1,37 @@
{ config, lib, ... }:
let
feature = "qbittorrent";
port = "5005";
in
{
config = lib.mkIf config.${feature}.enable {
users.users.qbittorrent.extraGroups = [ "media" ];
services = {
# service
qbittorrent = {
enable = true;
webuiPort = lib.toInt port;
profileDir = "/srv";
group = "media";
extraArgs = [
"--confirm-legal-notice"
];
};
# reverse proxy
nginx = {
virtualHosts."${feature}.fi33.buzz" = {
forceSSL = true;
useACMEHost = "fi33.buzz";
locations."/" = {
proxyPass = "http://localhost:${port}";
# proxyWebsockets = true;
};
};
};
};
};
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
}

View file

@ -1,37 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
feature = "transmission";
port = "5008";
in
{
config = lib.mkIf config.${feature}.enable {
services = {
transmission = {
enable = true;
package = pkgs.transmission_4;
settings = {
download-dir = "/media/Downloads";
rpc-host-whitelist-config.${feature}.enable = false;
rpc-port = lib.toInt port;
rpc-whitelist-enable = false;
};
group = "media";
webHome = pkgs.flood-for-transmission;
};
# reverse proxy
nginx.virtualHosts."${feature}.fi33.buzz" = {
forceSSL = true;
useACMEHost = "fi33.buzz";
locations."/".proxyPass = "http://localhost:${port}";
};
};
};
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
}