infrastructure/hosts/phoenix.lewd.wtf/containers/test.nix

84 lines
1.8 KiB
Nix

{ lib, ... }:
{
networking.nat.forwardPorts = [
{
destination = "192.168.100.11:51506";
proto = "tcp";
sourcePort = 51506;
}
{
destination = "192.168.100.11:51506";
proto = "udp";
sourcePort = 51506;
}
];
fileSystems."/mnt/zbigdata/seedbox_test" = {
device = "zbigdata/seedbox_test";
fsType = "zfs";
};
containers.seedbox-test = {
autoStart = true;
privateNetwork = true;
hostAddress = "10.175.197.82";
localAddress = "192.168.100.11";
bindMounts = {
"/home" = {
hostPath = "/mnt/zbigdata/seedbox_test";
isReadOnly = false;
};
};
config = { config, pkgs, ... }: {
system.stateVersion = "24.05";
networking = {
firewall = {
enable = true;
};
useHostResolvConf = lib.mkForce false;
};
services.resolved.enable = true;
# Custom stuff
environment.systemPackages = [ pkgs.qbittorrent-nox ];
networking.firewall = {
allowedTCPPorts = [ 51506 8888 ];
allowedUDPPorts = [ 51506 ];
};
systemd.services.qbittorrent = {
after = [ "network.target" ];
description = "qBittorrent Daemon";
wantedBy = [ "multi-user.target" ];
path = [ pkgs.qbittorrent-nox ];
serviceConfig = {
ExecStart = ''
${pkgs.qbittorrent-nox}/bin/qbittorrent-nox \
--profile=/home/test/ \
--webui-port=8888
'';
Restart = "on-success";
User = "test";
Group = "test";
UMask = "0002";
LimitNOFILE = 8192;
};
};
users.groups.test = {};
users.users.test = {
group = "test";
isNormalUser = true;
home = "/home/test";
};
};
};
}