650 lines
18 KiB
JSON
650 lines
18 KiB
JSON
{
|
|
"Affinities": null,
|
|
"AllAtOnce": false,
|
|
"Constraints": [
|
|
{
|
|
"LTarget": "${attr.kernel.name}",
|
|
"Operand": "=",
|
|
"RTarget": "linux"
|
|
},
|
|
{
|
|
"LTarget": "${attr.unique.hostname}",
|
|
"Operand": "regexp",
|
|
"RTarget": "odroid.*"
|
|
}
|
|
],
|
|
"ConsulNamespace": "",
|
|
"CreateIndex": 13572065,
|
|
"Datacenters": [
|
|
"dc1"
|
|
],
|
|
"DispatchIdempotencyToken": "",
|
|
"Dispatched": false,
|
|
"ID": "nzbget",
|
|
"JobModifyIndex": 14132455,
|
|
"Meta": null,
|
|
"ModifyIndex": 14199835,
|
|
"Multiregion": null,
|
|
"Name": "nzbget",
|
|
"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": 1761418699860703923,
|
|
"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": "nzbget",
|
|
"Networks": [
|
|
{
|
|
"ReservedPorts": [
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "shadowsocks",
|
|
"To": 8388,
|
|
"Value": 8338
|
|
},
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "http_proxy",
|
|
"To": 8888,
|
|
"Value": 8888
|
|
},
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "http_admin",
|
|
"To": 8000,
|
|
"Value": 8000
|
|
},
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "sabnzb_admin",
|
|
"To": 8080,
|
|
"Value": 8080
|
|
},
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "socks",
|
|
"To": 1080,
|
|
"Value": 1080
|
|
},
|
|
{
|
|
"HostNetwork": "default",
|
|
"Label": "nzbget",
|
|
"To": 6789,
|
|
"Value": 6789
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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": {
|
|
"memory_hard_limit": "1024",
|
|
"ports": [
|
|
"shadowsocks",
|
|
"nzbget",
|
|
"http_proxy",
|
|
"http_admin",
|
|
"sabnzb_admin",
|
|
"socks"
|
|
],
|
|
"cap_add": [
|
|
"NET_ADMIN",
|
|
"NET_BIND_SERVICE"
|
|
],
|
|
"volumes": [
|
|
"/etc/localtime:/etc/localtime"
|
|
],
|
|
"devices": [
|
|
{
|
|
"host_path": "/dev/net/tun",
|
|
"container_path": "/dev/net/tun"
|
|
}
|
|
],
|
|
"image": "qmcgaw/gluetun"
|
|
},
|
|
"Constraints": [
|
|
{
|
|
"LTarget": "${attr.consul.version}",
|
|
"Operand": "semver",
|
|
"RTarget": ">= 1.8.0"
|
|
}
|
|
],
|
|
"Consul": null,
|
|
"DispatchPayload": null,
|
|
"Driver": "docker",
|
|
"Env": {
|
|
"FIREWALL_VPN_INPUT_PORTS": "56987",
|
|
"CITY": "Toronto",
|
|
"WIREGUARD_ADDRESS": "10.66.246.4/32",
|
|
"WIREGUARD_PRIVATE_KEY": "2FHwQX1jxk+qeMmXUtSGRc2kKF1WHeSCyIgHNW+7akA=",
|
|
"DOT_PROVIDERS": "cloudflare,google,quad9,quadrant",
|
|
"COUNTRY": "Canada",
|
|
"UPDATER_PERIOD": "24h",
|
|
"VPNSP": "mullvad",
|
|
"DOT": "off",
|
|
"VPN_TYPE": "wireguard",
|
|
"SHADOWSOCKS": "off",
|
|
"HTTPPROXY": "on",
|
|
"SHADOWSOCKS_PASSWORD": "farscape5"
|
|
},
|
|
"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": "ovpn-client",
|
|
"Resources": {
|
|
"CPU": 100,
|
|
"Cores": 0,
|
|
"Devices": null,
|
|
"DiskMB": 0,
|
|
"IOPS": 0,
|
|
"MemoryMB": 100,
|
|
"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": "nzbget-admin",
|
|
"Namespace": "default",
|
|
"OnUpdate": "require_healthy",
|
|
"PortLabel": "http_admin",
|
|
"Provider": "consul",
|
|
"TaggedAddresses": null,
|
|
"Tags": [
|
|
"global",
|
|
"ovpn-openpyn"
|
|
],
|
|
"TaskName": "ovpn-client",
|
|
"Weights": null
|
|
},
|
|
{
|
|
"Address": "",
|
|
"AddressMode": "auto",
|
|
"CanaryMeta": null,
|
|
"CanaryTags": null,
|
|
"Checks": null,
|
|
"Cluster": "default",
|
|
"Connect": null,
|
|
"EnableTagOverride": false,
|
|
"Identity": null,
|
|
"Meta": null,
|
|
"Name": "nzbget",
|
|
"Namespace": "default",
|
|
"OnUpdate": "require_healthy",
|
|
"PortLabel": "shadowsocks",
|
|
"Provider": "consul",
|
|
"TaggedAddresses": null,
|
|
"Tags": [
|
|
"global",
|
|
"ovpn-openpyn"
|
|
],
|
|
"TaskName": "ovpn-client",
|
|
"Weights": null
|
|
},
|
|
{
|
|
"Address": "",
|
|
"AddressMode": "auto",
|
|
"CanaryMeta": null,
|
|
"CanaryTags": null,
|
|
"Checks": null,
|
|
"Cluster": "default",
|
|
"Connect": null,
|
|
"EnableTagOverride": false,
|
|
"Identity": null,
|
|
"Meta": null,
|
|
"Name": "nzbget",
|
|
"Namespace": "default",
|
|
"OnUpdate": "require_healthy",
|
|
"PortLabel": "nzbget",
|
|
"Provider": "consul",
|
|
"TaggedAddresses": null,
|
|
"Tags": [
|
|
"global",
|
|
"ovpn-openpyn"
|
|
],
|
|
"TaskName": "ovpn-client",
|
|
"Weights": null
|
|
},
|
|
{
|
|
"Address": "",
|
|
"AddressMode": "auto",
|
|
"CanaryMeta": null,
|
|
"CanaryTags": null,
|
|
"Checks": null,
|
|
"Cluster": "default",
|
|
"Connect": null,
|
|
"EnableTagOverride": false,
|
|
"Identity": null,
|
|
"Meta": null,
|
|
"Name": "sabnzb",
|
|
"Namespace": "default",
|
|
"OnUpdate": "require_healthy",
|
|
"PortLabel": "sabnzb_admin",
|
|
"Provider": "consul",
|
|
"TaggedAddresses": null,
|
|
"Tags": [
|
|
"global",
|
|
"ovpn-openpyn",
|
|
"enable_gocast",
|
|
"gocast_vip=192.168.1.247/32",
|
|
"gocast_nat=tcp:8080:8080",
|
|
"gocast_nat=udp:8080:8080"
|
|
],
|
|
"TaskName": "ovpn-client",
|
|
"Weights": null
|
|
},
|
|
{
|
|
"Address": "",
|
|
"AddressMode": "auto",
|
|
"CanaryMeta": null,
|
|
"CanaryTags": null,
|
|
"Checks": null,
|
|
"Cluster": "default",
|
|
"Connect": null,
|
|
"EnableTagOverride": false,
|
|
"Identity": null,
|
|
"Meta": null,
|
|
"Name": "socks-nord",
|
|
"Namespace": "default",
|
|
"OnUpdate": "require_healthy",
|
|
"PortLabel": "socks",
|
|
"Provider": "consul",
|
|
"TaggedAddresses": null,
|
|
"Tags": [
|
|
"global",
|
|
"ovpn-openpyn",
|
|
"enable_gocast",
|
|
"gocast_vip=192.168.1.243/32",
|
|
"gocast_nat=tcp:1080:1080",
|
|
"gocast_nat=udp:1080:1080"
|
|
],
|
|
"TaskName": "ovpn-client",
|
|
"Weights": null
|
|
}
|
|
],
|
|
"ShutdownDelay": 0,
|
|
"Templates": null,
|
|
"User": "",
|
|
"Vault": null,
|
|
"VolumeMounts": null
|
|
},
|
|
{
|
|
"Actions": null,
|
|
"Affinities": null,
|
|
"Artifacts": null,
|
|
"CSIPluginConfig": null,
|
|
"Config": {
|
|
"image": "serjs/go-socks5-proxy",
|
|
"network_mode": "container:ovpn-client-${NOMAD_ALLOC_ID}",
|
|
"memory_hard_limit": 256.0,
|
|
"devices": [
|
|
{
|
|
"host_path": "/dev/net/tun",
|
|
"container_path": "/dev/net/tun"
|
|
}
|
|
]
|
|
},
|
|
"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": {
|
|
"image": "ghcr.io/sstent/rsync:v0.3.5",
|
|
"memory_hard_limit": "2048",
|
|
"volumes": [
|
|
"/mnt/configs/${NOMAD_GROUP_NAME}:/config",
|
|
"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup",
|
|
"/mnt/Public/config/locks:/locks"
|
|
],
|
|
"args": [
|
|
"flock",
|
|
"-x",
|
|
"/locks/${NOMAD_GROUP_NAME}_rsync.lock",
|
|
"rsync",
|
|
"-avz",
|
|
"--exclude=Backups",
|
|
"/configbackup/",
|
|
"/config/",
|
|
"--delete-before"
|
|
]
|
|
},
|
|
"Constraints": null,
|
|
"Consul": null,
|
|
"DispatchPayload": null,
|
|
"Driver": "docker",
|
|
"Env": null,
|
|
"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": false
|
|
},
|
|
"LogConfig": {
|
|
"Disabled": false,
|
|
"MaxFileSizeMB": 10,
|
|
"MaxFiles": 10
|
|
},
|
|
"Meta": null,
|
|
"Name": "init",
|
|
"Resources": {
|
|
"CPU": 20,
|
|
"Cores": 0,
|
|
"Devices": null,
|
|
"DiskMB": 0,
|
|
"IOPS": 0,
|
|
"MemoryMB": 20,
|
|
"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": {
|
|
"memory_hard_limit": "2048",
|
|
"volumes": [
|
|
"/mnt/configs/${NOMAD_GROUP_NAME}:/config",
|
|
"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup",
|
|
"/mnt/Public/config/locks:/locks"
|
|
],
|
|
"args": [
|
|
"flock",
|
|
"-x",
|
|
"/locks/${NOMAD_GROUP_NAME}_rsync.lock",
|
|
"rsync",
|
|
"-avz",
|
|
"/config/",
|
|
"/configbackup/"
|
|
],
|
|
"image": "ghcr.io/sstent/rsync:v0.3.5"
|
|
},
|
|
"Constraints": null,
|
|
"Consul": null,
|
|
"DispatchPayload": null,
|
|
"Driver": "docker",
|
|
"Env": null,
|
|
"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": "poststop",
|
|
"Sidecar": false
|
|
},
|
|
"LogConfig": {
|
|
"Disabled": false,
|
|
"MaxFileSizeMB": 10,
|
|
"MaxFiles": 10
|
|
},
|
|
"Meta": null,
|
|
"Name": "finalsync",
|
|
"Resources": {
|
|
"CPU": 20,
|
|
"Cores": 0,
|
|
"Devices": null,
|
|
"DiskMB": 0,
|
|
"IOPS": 0,
|
|
"MemoryMB": 20,
|
|
"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
|
|
}
|
|
],
|
|
"Update": {
|
|
"AutoPromote": false,
|
|
"AutoRevert": false,
|
|
"Canary": 0,
|
|
"HealthCheck": "checks",
|
|
"HealthyDeadline": 300000000000,
|
|
"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": 10,
|
|
"VersionTag": null
|
|
} |