{ moduleFunctions }:
let
  inherit (moduleFunctions.instancesFunctions)
    domain0
    sslPath
    varPath
    mntPath
    secretPath
    ;
  label = "qBittorrent";
  name = "qbittorrent";
  short = "share";
  domain = "${short}.${domain0}";
  secrets = "${secretPath}/${name}";
  ssl = "${sslPath}/${domain}";
in
{
  label = label;
  name = name;
  short = label;
  domains = {
    url0 = domain;
  };
  subdomain = short;
  tags = [
    name
    "torrent"
    "p2p"
  ];
  ports = {
    port0 = 3030;
  };
  interface = {
    id = "vm-${short}";
    mac = "02:00:00:00:56:07";
    idUser = "vmuser-${short}";
    macUser = "02:00:00:00:00:07";
    ip = "192.168.50.117";
    gate = "192.168.50.1";
    ssh = 2207;
  };
  ssl = {
    path = ssl;
    cert = "${ssl}/fullchain.pem";
    key = "${ssl}/key.pem";
  };
  varPaths = {
    path0 = "${varPath}/${label}";
  };
  mntPaths = {
    path0 = "${mntPath}/${name}";
  };
  secretPaths = {
    path0 = secrets;
  };
}
