Files
NomadBackup/nomad_backup/20251115_141532/qbittorrent.json
2025-11-21 13:07:40 -08:00

593 lines
17 KiB
JSON

{
"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
}