bitmagnet

This commit is contained in:
Simon Gardling 2024-11-13 20:34:23 -05:00
parent ff99fb637a
commit e53feb78e4
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D
7 changed files with 61 additions and 11 deletions

View File

@ -19,6 +19,7 @@
./services/minecraft.nix ./services/minecraft.nix
# ./services/soulseek.nix # ./services/soulseek.nix
./services/qbittorrent.nix ./services/qbittorrent.nix
./services/bitmagnet.nix
]; ];
systemd.targets = { systemd.targets = {

6
flake.lock generated
View File

@ -74,11 +74,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1731510190, "lastModified": 1731541698,
"narHash": "sha256-Mkl4TRmpw4vADc5mjBaG0CrbjqbqPsKevSXRBLdzF9o=", "narHash": "sha256-o+BOgSM/jEvLACofjMvQAKdZrvKztmwOfiWiuDjOig0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ac313b3f6f18d38abb71feb156531a371b828d35", "rev": "00205055ce9ed57333f28b4023d19a2d74b3745f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -43,6 +43,7 @@
jellyfin = 8096; # no services.jellyfin option for this jellyfin = 8096; # no services.jellyfin option for this
torrent = 6011; torrent = 6011;
ollama = 11434; ollama = 11434;
bitmagnet = 3333;
}; };
https = { https = {

21
services/bitmagnet.nix Normal file
View File

@ -0,0 +1,21 @@
{ pkgs, service_configs, ... }:
{
services.bitmagnet = {
enable = true;
settings = {
postgres = {
host = service_configs.postgres.socket;
};
http_server = {
port = ":" + (builtins.toString service_configs.ports.bitmagnet);
};
};
};
systemd.services.bitmagnet.vpnConfinement = {
enable = true;
vpnNamespace = "wg";
};
}

View File

@ -33,6 +33,10 @@
${service_configs.gitea.domain}.extraConfig = '' ${service_configs.gitea.domain}.extraConfig = ''
reverse_proxy 127.0.0.1:${builtins.toString config.services.gitea.settings.server.HTTP_PORT} reverse_proxy 127.0.0.1:${builtins.toString config.services.gitea.settings.server.HTTP_PORT}
''; '';
"recorder.gardling.com".extraConfig = ''
reverse_proxy 192.168.15.1:${builtins.toString service_configs.ports.bitmagnet}
'';
}; };
}; };

View File

@ -42,47 +42,58 @@ in
symlinks = { symlinks = {
"mods" = pkgs.linkFarmFromDrvs "mods" ( "mods" = pkgs.linkFarmFromDrvs "mods" (
with pkgs;
builtins.attrValues { builtins.attrValues {
FabricApi = pkgs.fetchurl { FabricApi = fetchurl {
url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/MawoBGbv/fabric-api-0.107.3%2B1.21.3.jar"; url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/MawoBGbv/fabric-api-0.107.3%2B1.21.3.jar";
sha512 = "84e6bbdcd9819999e9d8873be7b6470bc9de898cdc0b878caeb8deb26e7cf3a1c532710e239815565d40afdb06db423746506f4c174fc3938c2790b5e6d5266f"; sha512 = "84e6bbdcd9819999e9d8873be7b6470bc9de898cdc0b878caeb8deb26e7cf3a1c532710e239815565d40afdb06db423746506f4c174fc3938c2790b5e6d5266f";
}; };
FerriteCore = pkgs.fetchurl { FerriteCore = fetchurl {
url = "https://cdn.modrinth.com/data/uXXizFIs/versions/a3QXXGz2/ferritecore-7.1.0-hotfix-fabric.jar"; url = "https://cdn.modrinth.com/data/uXXizFIs/versions/a3QXXGz2/ferritecore-7.1.0-hotfix-fabric.jar";
sha512 = "ae1ab30beb5938643cf2ae7b8220769f2c917e3f5441e46e9bc900295348c0a541a325c30b8dfc38039205620d872c27809acdc6741351f08e4c8edc36ae2bcc"; sha512 = "ae1ab30beb5938643cf2ae7b8220769f2c917e3f5441e46e9bc900295348c0a541a325c30b8dfc38039205620d872c27809acdc6741351f08e4c8edc36ae2bcc";
}; };
Lithium = pkgs.fetchurl { Lithium = fetchurl {
url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/2Ea7RMWZ/lithium-fabric-0.14.1-snapshot%2Bmc1.21.3-build.89.jar"; url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/2Ea7RMWZ/lithium-fabric-0.14.1-snapshot%2Bmc1.21.3-build.89.jar";
sha512 = "d122b23a520cb2573c2eaba9556c07846ae5f2f8ee9aabdf5dce914334e44027a273c8cf2ef2243fe03cf86a8858eab2ddcc247d95661dee40cd783cf444aeff"; sha512 = "d122b23a520cb2573c2eaba9556c07846ae5f2f8ee9aabdf5dce914334e44027a273c8cf2ef2243fe03cf86a8858eab2ddcc247d95661dee40cd783cf444aeff";
}; };
NoChatReports = pkgs.fetchurl { NoChatReports = fetchurl {
url = "https://cdn.modrinth.com/data/qQyHxfxd/versions/Cg7X9iDa/NoChatReports-FABRIC-1.21.3-v2.10.1.jar"; url = "https://cdn.modrinth.com/data/qQyHxfxd/versions/Cg7X9iDa/NoChatReports-FABRIC-1.21.3-v2.10.1.jar";
sha512 = "8f1163ad515ebdfab5ef54a4985af05e643749c2efc0bf7b62e00074bbe61d91789b0c9e558bbe1b5c5d21a89b88084ce6350a11a5a9a3bea59eea9764a27171"; sha512 = "8f1163ad515ebdfab5ef54a4985af05e643749c2efc0bf7b62e00074bbe61d91789b0c9e558bbe1b5c5d21a89b88084ce6350a11a5a9a3bea59eea9764a27171";
}; };
tick-stasis = pkgs.fetchurl { tick-stasis = fetchurl {
url = "https://cdn.modrinth.com/data/t6XBQ2xn/versions/fDbxgNHz/tick-stasis-1.1.1.jar"; url = "https://cdn.modrinth.com/data/t6XBQ2xn/versions/fDbxgNHz/tick-stasis-1.1.1.jar";
sha512 = "346fae7e0f1a62636525a9331643ac4343b781c240db6ef9bafe1b3a295d24d131d2b4b20cef8edc33835e9069fcaf1c2e2b3ce9ced9a2ec6e4e3d82770f52c6"; sha512 = "346fae7e0f1a62636525a9331643ac4343b781c240db6ef9bafe1b3a295d24d131d2b4b20cef8edc33835e9069fcaf1c2e2b3ce9ced9a2ec6e4e3d82770f52c6";
}; };
moonrise = pkgs.fetchurl { moonrise = fetchurl {
url = "https://cdn.modrinth.com/data/KOHu7RCS/versions/S7ZBVFid/Moonrise-Fabric-0.2.0-beta.3%2Bbad5cae.jar"; url = "https://cdn.modrinth.com/data/KOHu7RCS/versions/S7ZBVFid/Moonrise-Fabric-0.2.0-beta.3%2Bbad5cae.jar";
sha512 = "84831de3f402bd2f69fba1329412064f487571527fbb4182c45433eba3d716ef52c057d4f2e9f794821ac5147dbae774ef5c83776f4e376fc10ba3d80015cfde"; sha512 = "84831de3f402bd2f69fba1329412064f487571527fbb4182c45433eba3d716ef52c057d4f2e9f794821ac5147dbae774ef5c83776f4e376fc10ba3d80015cfde";
}; };
mixintrace = pkgs.fetchurl { mixintrace = fetchurl {
url = "https://cdn.modrinth.com/data/sGmHWmeL/versions/1.1.1%2B1.17/mixintrace-1.1.1%2B1.17.jar"; url = "https://cdn.modrinth.com/data/sGmHWmeL/versions/1.1.1%2B1.17/mixintrace-1.1.1%2B1.17.jar";
sha512 = "ea9034b60bc1c64629a9bcad2e619907692fe6e7464026236c55cc5a4892a20d21dd6318ad0380ab2ec245f7077939b6717d2ed58e00708c17470be14f5e0b5f"; sha512 = "ea9034b60bc1c64629a9bcad2e619907692fe6e7464026236c55cc5a4892a20d21dd6318ad0380ab2ec245f7077939b6717d2ed58e00708c17470be14f5e0b5f";
}; };
better-fabric-console = pkgs.fetchurl { better-fabric-console = fetchurl {
url = "https://cdn.modrinth.com/data/Y8o1j1Sf/versions/QGfoAASu/better-fabric-console-mc1.21.3-1.2.1.jar"; url = "https://cdn.modrinth.com/data/Y8o1j1Sf/versions/QGfoAASu/better-fabric-console-mc1.21.3-1.2.1.jar";
sha512 = "3a88c281a65f26e44b17b3a7a5cc9f84046b013931bd3af7f2553f462987a96357b21c104a41593ca0516038e6c4398a890ee118046fe95a7e0c7f2d743d944a"; sha512 = "3a88c281a65f26e44b17b3a7a5cc9f84046b013931bd3af7f2553f462987a96357b21c104a41593ca0516038e6c4398a890ee118046fe95a7e0c7f2d743d944a";
}; };
StackDeobfuscator = fetchurl {
url = "https://cdn.modrinth.com/data/NusMqsjF/versions/pyiVLk9R/StackDeobfuscatorFabric-1.4.3%2B08e71cc.jar";
sha512 = "ef851d54a60e223e90cfd21da91effcdc70175dd32b194366ca3ba29646c9ebdbfb60a1eaa88070c4e9f83bd654da1344e67226dfdf5c68140db4ef693361353";
};
mods-command = fetchurl {
url = "https://cdn.modrinth.com/data/PExmWQV8/versions/1F0YwdWN/mods-command-mc1.21.3-1.1.8.jar";
sha512 = "761ee048edd6b53eac6fd922c21f7c4012970b3aa57fbd8e7613294e57a12603a7a30af6d6595c06a6a67a02c2a90cb76cd3dafd0bb647d16b4a9888454f0421";
};
# hasn't updated to 1.21.3 yet (https://modrinth.com/mod/vivecraft/versions) # hasn't updated to 1.21.3 yet (https://modrinth.com/mod/vivecraft/versions)
# vivecraft = pkgs.fetchurl { # vivecraft = pkgs.fetchurl {
# url = "https://cdn.modrinth.com/data/wGoQDPN5/versions/55ml9ENB/vivecraft-1.21.1-1.1.14-b2-fabric.jar"; # url = "https://cdn.modrinth.com/data/wGoQDPN5/versions/55ml9ENB/vivecraft-1.21.1-1.1.14-b2-fabric.jar";

View File

@ -2,6 +2,7 @@
pkgs, pkgs,
config, config,
service_configs, service_configs,
lib,
... ...
}: }:
{ {
@ -17,12 +18,23 @@
from = config.services.qbittorrent.webuiPort; from = config.services.qbittorrent.webuiPort;
to = config.services.qbittorrent.webuiPort; to = config.services.qbittorrent.webuiPort;
} }
{
from = service_configs.ports.bitmagnet;
to = service_configs.ports.bitmagnet;
}
]; ];
openVPNPorts = [ openVPNPorts = [
{ {
port = config.services.qbittorrent.webuiPort; port = config.services.qbittorrent.webuiPort;
protocol = "both"; protocol = "both";
} }
{
# TODO! make an issue about this variable
port = service_configs.ports.bitmagnet;
protocol = "both";
}
]; ];
}; };