{ "Affinities": null, "AllAtOnce": false, "Constraints": [ { "LTarget": "${attr.kernel.name}", "Operand": "=", "RTarget": "linux" }, { "LTarget": "${attr.cpu.arch}", "Operand": "regexp", "RTarget": "amd64" } ], "ConsulNamespace": "", "CreateIndex": 13572099, "Datacenters": [ "dc1" ], "DispatchIdempotencyToken": "", "Dispatched": false, "ID": "qbittorrent", "JobModifyIndex": 14186766, "Meta": null, "ModifyIndex": 14202925, "Multiregion": null, "Name": "qbittorrent", "Namespace": "default", "NodePool": "default", "NomadTokenID": "", "ParameterizedJob": null, "ParentID": "", "Payload": null, "Periodic": null, "Priority": 50, "Region": "global", "Spreads": null, "Stable": true, "Status": "running", "StatusDescription": "", "Stop": false, "SubmitTime": 1762817545936576873, "TaskGroups": [ { "Affinities": null, "Constraints": null, "Consul": null, "Count": 1, "Disconnect": null, "EphemeralDisk": { "Migrate": false, "SizeMB": 300, "Sticky": false }, "MaxClientDisconnect": null, "Meta": null, "Migrate": { "HealthCheck": "checks", "HealthyDeadline": 300000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000 }, "Name": "qbittorrent", "Networks": [ { "ReservedPorts": [ { "HostNetwork": "default", "Label": "qbittorrent_51413", "To": 6881, "Value": 6881 }, { "HostNetwork": "default", "Label": "shadowsocks", "To": 8388, "Value": 8388 }, { "HostNetwork": "default", "Label": "socks", "To": 1080, "Value": 1080 }, { "HostNetwork": "default", "Label": "http_proxy", "To": 8888, "Value": 8888 }, { "HostNetwork": "default", "Label": "http_admin", "To": 8000, "Value": 8000 }, { "HostNetwork": "default", "Label": "qbittorrent_80", "To": 8080, "Value": 8080 } ] } ], "PreventRescheduleOnLost": false, "ReschedulePolicy": { "Attempts": 0, "Delay": 30000000000, "DelayFunction": "exponential", "Interval": 0, "MaxDelay": 3600000000000, "Unlimited": true }, "RestartPolicy": { "Attempts": 8, "Delay": 10000000000, "Interval": 1200000000000, "Mode": "delay", "RenderTemplates": false }, "Scaling": null, "Services": null, "ShutdownDelay": null, "Spreads": null, "StopAfterClientDisconnect": null, "Tasks": [ { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "devices": [ { "container_path": "/dev/net/tun", "host_path": "/dev/net/tun" } ], "image": "qmcgaw/gluetun", "memory_hard_limit": "1024", "ports": [ "shadowsocks", "http_proxy", "http_admin", "qbittorrent_51413", "qbittorrent_80", "socks" ], "volumes": [ "/etc/localtime:/etc/localtime", "/mnt/syncthing/mullvad:/vpn", "local/gluetun.toml:/gluetun/config.toml" ], "cap_add": [ "NET_ADMIN", "NET_BIND_SERVICE" ] }, "Constraints": [ { "LTarget": "${attr.consul.version}", "Operand": "semver", "RTarget": ">= 1.8.0" } ], "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": { "HTTP_CONTROL_SERVER_AUTH_CONFIG_FILEPATH": "/custom/auth.toml", "SERVER_CITIES": "Vancouver,Montreal,Toronto", "HEALTH_VPN_DURATION_INITIAL": "3600s", "DOT": "off", "SHADOWSOCKS": "on", "SHADOWSOCKS_PASSWORD": "farscape5", "DOT_PROVIDERS": "cloudflare,google,quad9,quadrant", "WIREGUARD_PRIVATE_KEY": "EIos1A9eGCIoCHr02aOsEu8S4C0gqhNLIYF/vMykEV0=", "SERVER_COUNTRIES": "Canada", "HEALTH_TARGET_ADDRESS": "1.1.1.1", "WIREGUARD_PRESHARED_KEY": "RzPcraPA24hLFxGiB7z5JMWrtI+JBbEzvmeiEX36XWo=", "HEALTH_SUCCESS_WAIT_DURATION": "30s", "HTTPPROXY": "on", "FIREWALL_VPN_INPUT_PORTS": "61944,53304", "VPN_SERVICE_PROVIDER": "airvpn", "WIREGUARD_ADDRESSES": "10.161.31.240/32", "HEALTH_VPN_DURATION_ADDITION": "600s", "WEBUI_PORT": "8080", "VPN_TYPE": "wireguard" }, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 5000000000, "Kind": "", "Leader": false, "Lifecycle": { "Hook": "prestart", "Sidecar": true }, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 10, "MaxFiles": 10 }, "Meta": null, "Name": "qbittorrent-vpn", "Resources": { "CPU": 100, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 250, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 8, "Delay": 10000000000, "Interval": 1200000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": [ { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": null, "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "qbittorrent", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "qbittorrent_80", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global", "tools" ], "TaskName": "qbittorrent-vpn", "Weights": null }, { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": null, "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "qbittorrent-admin", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "http_admin", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global" ], "TaskName": "qbittorrent-vpn", "Weights": null }, { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": null, "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "sp", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "socks", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global", "ovpn-openpyn", "enable_gocast", "gocast_vip=192.168.1.242/32", "gocast_nat=tcp:1080:1080", "gocast_nat=udp:1080:1080" ], "TaskName": "qbittorrent-vpn", "Weights": null } ], "ShutdownDelay": 0, "Templates": [ { "ChangeMode": "restart", "ChangeScript": null, "ChangeSignal": "", "DestPath": "custom/auth.toml", "EmbeddedTmpl": "[[roles]]\nname = \"qbittorrent\"\n# Define a list of routes with the syntax \"Http-Method /path\"\nroutes = [\"GET /v1/openvpn/status\", \"PUT /v1/openvpn/status\", \"PUT /v1/openvpn/status\", \"GET /v1/openvpn/portforwarded\", \"GET /v1/openvpn/settings\", \"GET /v1/dns/status\", \"PUT /v1/dns/status\", \"PUT /v1/dns/status\", \"GET /v1/updater/status\", \"PUT /v1/updater/status\", \"PUT /v1/updater/status\", \"GET /v1/publicip/ip\", \"GET /v1/version\", \"GET /v1/vpn/status\", \"PUT /v1/vpn/status\", \"GET /v1/vpn/settings\", \"PUT /v1/vpn/settings\"]\nauth = \"none\"\n", "Envvars": false, "ErrMissingKey": false, "Gid": null, "LeftDelim": "{{", "Once": false, "Perms": "0644", "RightDelim": "}}", "SourcePath": "", "Splay": 5000000000, "Uid": null, "VaultGrace": 0, "Wait": null } ], "User": "", "Vault": null, "VolumeMounts": null }, { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "devices": [ { "container_path": "/dev/net/tun", "host_path": "/dev/net/tun" } ], "image": "serjs/go-socks5-proxy", "memory_hard_limit": 256.0, "network_mode": "container:qbittorrent-vpn-${NOMAD_ALLOC_ID}" }, "Constraints": null, "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": { "REQUIRE_AUTH": "false" }, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 5000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 10, "MaxFiles": 10 }, "Meta": null, "Name": "dante", "Resources": { "CPU": 64, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 128, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 8, "Delay": 10000000000, "Interval": 1200000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": null, "ShutdownDelay": 0, "Templates": null, "User": "", "Vault": null, "VolumeMounts": null }, { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "volumes": [ "/mnt/Public/Downloads/news/qbittorrent:/downloads/", "/mnt/configs/qbittorrent:/config", "/mnt/Archive/seeding:/archiveseeding", "/mnt/odroid5:/odroid5" ], "image": "linuxserver/qbittorrent:5.1.0", "memory_hard_limit": 2048.0, "network_mode": "container:qbittorrent-vpn-${NOMAD_ALLOC_ID}", "sysctl": [ { "net.core.somaxconn": "4096" } ] }, "Constraints": [ { "LTarget": "${attr.consul.version}", "Operand": "semver", "RTarget": ">= 1.8.0" } ], "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": { "TZ": "EST5EDT", "WEBUI_PORT": "8080", "PGID": "1000", "PUID": "1000" }, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 5000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 10, "MaxFiles": 10 }, "Meta": null, "Name": "qbittorrent", "Resources": { "CPU": 128, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 256, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 8, "Delay": 10000000000, "Interval": 1200000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": [ { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": null, "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "qb", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "qbittorrent_80", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global", "ovpn-openpyn", "enable_gocast", "gocast_vip=192.168.1.244/32", "gocast_nat=tcp:8080:8080", "gocast_nat=udp:8080:8080" ], "TaskName": "qbittorrent", "Weights": null } ], "ShutdownDelay": 0, "Templates": [ { "ChangeMode": "noop", "ChangeScript": null, "ChangeSignal": "", "DestPath": "local/qbithealth.sh", "EmbeddedTmpl": " #!/bin/bash\n curl -sL http://127.0.0.1:8080/api/v2/transfer/info | grep connected || exit;\n", "Envvars": false, "ErrMissingKey": false, "Gid": null, "LeftDelim": "{{", "Once": false, "Perms": "0777", "RightDelim": "}}", "SourcePath": "", "Splay": 5000000000, "Uid": null, "VaultGrace": 0, "Wait": null } ], "User": "", "Vault": null, "VolumeMounts": null } ], "Update": { "AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "task_states", "HealthyDeadline": 120000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000, "ProgressDeadline": 600000000000, "Stagger": 90000000000 }, "Volumes": null } ], "Type": "service", "UI": null, "Update": { "AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "", "HealthyDeadline": 0, "MaxParallel": 1, "MinHealthyTime": 0, "ProgressDeadline": 0, "Stagger": 90000000000 }, "VaultNamespace": "", "Version": 21, "VersionTag": null }