From b33b342d61927a06b56c9039b658199f5eba0a86 Mon Sep 17 00:00:00 2001 From: sstent Date: Fri, 21 Nov 2025 13:14:14 -0800 Subject: [PATCH] sync --- nomad_backup/20251115_141532/acme.json | 385 ----------- nomad_backup/20251115_141532/auth.json | 304 -------- .../20251115_141532/calendar-proxy.json | 406 ----------- .../20251115_141532/democratic-csi-local.json | 339 --------- nomad_backup/20251115_141532/foodplanner.json | 405 ----------- nomad_backup/20251115_141532/gonic.json | 542 --------------- nomad_backup/20251115_141532/hass.json | 536 --------------- nomad_backup/20251115_141532/immich.json | 414 ----------- nomad_backup/20251115_141532/miniflux.json | 240 ------- nomad_backup/20251115_141532/minihass.json | 254 ------- nomad_backup/20251115_141532/navidrome.json | 439 ------------ nomad_backup/20251115_141532/nginx.json | 292 -------- nomad_backup/20251115_141532/nzbget.json | 650 ------------------ nomad_backup/20251115_141532/postgres-15.json | 203 ------ nomad_backup/20251115_141532/prometheus.json | 565 --------------- nomad_backup/20251115_141532/prowlarr.json | 377 ---------- nomad_backup/20251115_141532/qautomate.json | 233 ------- .../qautomate_periodic-1763231400.json | 226 ------ .../qautomate_periodic-1763233200.json | 226 ------ .../qautomate_periodic-1763235000.json | 226 ------ .../qautomate_periodic-1763236800.json | 226 ------ .../qautomate_periodic-1763238600.json | 226 ------ .../qautomate_periodic-1763240400.json | 226 ------ .../qautomate_periodic-1763242200.json | 226 ------ .../qautomate_periodic-1763244000.json | 226 ------ nomad_backup/20251115_141532/qbittorrent.json | 593 ---------------- nomad_backup/20251115_141532/radarr.json | 342 --------- nomad_backup/20251115_141532/slskd.json | 331 --------- nomad_backup/20251115_141532/sonarr.json | 333 --------- nomad_backup/20251115_141532/traefik.json | 391 ----------- nomad_backup/20251115_141532/trilium.json | 424 ------------ nomad_backup/20251115_141532/vaultwarden.json | 542 --------------- nomad_backup/20251115_141532/wallabag.json | 242 ------- nomad_backup/20251115_141532/wireguard.json | 259 ------- nomad_backup/20251115_142246/acme.json | 10 - nomad_backup/20251115_142246/auth.json | 10 - .../20251115_142246/calendar-proxy.json | 10 - .../20251115_142246/democratic-csi-local.json | 10 - nomad_backup/20251115_142246/foodplanner.json | 10 - nomad_backup/20251115_142246/gonic.json | 10 - nomad_backup/20251115_142246/hass.json | 10 - nomad_backup/20251115_142246/immich.json | 10 - nomad_backup/20251115_142246/minihass.json | 10 - nomad_backup/20251115_142246/navidrome.json | 10 - nomad_backup/20251115_142246/nginx.json | 10 - nomad_backup/20251115_142246/nzbget.json | 10 - nomad_backup/20251115_142246/postgres-15.json | 10 - nomad_backup/20251115_142246/prometheus.json | 10 - nomad_backup/20251115_142246/prowlarr.json | 10 - nomad_backup/20251115_142246/qautomate.json | 10 - nomad_backup/20251115_142246/qbittorrent.json | 10 - nomad_backup/20251115_142246/radarr.json | 10 - nomad_backup/20251115_142246/slskd.json | 10 - nomad_backup/20251115_142246/sonarr.json | 10 - nomad_backup/20251115_142246/traefik.json | 10 - nomad_backup/20251115_142246/trilium.json | 10 - nomad_backup/20251115_142246/vaultwarden.json | 10 - nomad_backup/20251115_142246/wallabag.json | 10 - nomad_backup/20251115_142246/wireguard.json | 10 - nomad_backup/20251115_142432/acme.hcl | 99 --- nomad_backup/20251115_142432/auth.hcl | 89 --- .../20251115_142432/calendar-proxy.hcl | 228 ------ .../20251115_142432/democratic-csi-local.hcl | 105 --- nomad_backup/20251115_142432/foodplanner.hcl | 99 --- nomad_backup/20251115_142432/gonic.hcl | 151 ---- nomad_backup/20251115_142432/hass.hcl | 285 -------- nomad_backup/20251115_142432/immich.hcl | 151 ---- nomad_backup/20251115_142432/minihass.hcl | 48 -- nomad_backup/20251115_142432/navidrome.hcl | 118 ---- nomad_backup/20251115_142432/nginx.hcl | 93 --- nomad_backup/20251115_142432/nzbget.hcl | 305 -------- nomad_backup/20251115_142432/postgres-15.hcl | 116 ---- nomad_backup/20251115_142432/prometheus.hcl | 195 ------ nomad_backup/20251115_142432/prowlarr.hcl | 138 ---- nomad_backup/20251115_142432/qautomate.hcl | 59 -- nomad_backup/20251115_142432/qbittorrent.hcl | 351 ---------- nomad_backup/20251115_142432/radarr.hcl | 156 ----- nomad_backup/20251115_142432/slskd.hcl | 149 ---- nomad_backup/20251115_142432/sonarr.hcl | 158 ----- nomad_backup/20251115_142432/traefik.hcl | 218 ------ nomad_backup/20251115_142432/trilium.hcl | 106 --- nomad_backup/20251115_142432/vaultwarden.hcl | 231 ------- nomad_backup/20251115_142432/wallabag.hcl | 85 --- nomad_backup/20251115_142432/wireguard.hcl | 65 -- nomad_backup/20251115_142628/acme.hcl | 99 --- nomad_backup/20251115_142628/auth.hcl | 89 --- .../20251115_142628/calendar-proxy.hcl | 228 ------ .../20251115_142628/democratic-csi-local.hcl | 105 --- nomad_backup/20251115_142628/foodplanner.hcl | 99 --- nomad_backup/20251115_142628/gonic.hcl | 151 ---- nomad_backup/20251115_142628/hass.hcl | 285 -------- nomad_backup/20251115_142628/immich.hcl | 151 ---- nomad_backup/20251115_142628/minihass.hcl | 48 -- nomad_backup/20251115_142628/navidrome.hcl | 118 ---- nomad_backup/20251115_142628/nginx.hcl | 93 --- nomad_backup/20251115_142628/nzbget.hcl | 305 -------- nomad_backup/20251115_142628/postgres-15.hcl | 116 ---- nomad_backup/20251115_142628/prometheus.hcl | 195 ------ nomad_backup/20251115_142628/prowlarr.hcl | 138 ---- nomad_backup/20251115_142628/qautomate.hcl | 59 -- nomad_backup/20251115_142628/qbittorrent.hcl | 351 ---------- nomad_backup/20251115_142628/radarr.hcl | 156 ----- nomad_backup/20251115_142628/slskd.hcl | 149 ---- nomad_backup/20251115_142628/sonarr.hcl | 158 ----- nomad_backup/20251115_142628/traefik.hcl | 218 ------ nomad_backup/20251115_142628/trilium.hcl | 106 --- nomad_backup/20251115_142628/vaultwarden.hcl | 231 ------- nomad_backup/20251115_142628/wallabag.hcl | 85 --- nomad_backup/20251115_142628/wireguard.hcl | 65 -- nomad_backup/20251115_143630/acme.hcl | 99 --- nomad_backup/20251115_143630/auth.hcl | 89 --- .../20251115_143630/calendar-proxy.hcl | 228 ------ .../20251115_143630/democratic-csi-local.hcl | 105 --- nomad_backup/20251115_143630/foodplanner.hcl | 99 --- nomad_backup/20251115_143630/gonic.hcl | 151 ---- nomad_backup/20251115_143630/hass.hcl | 285 -------- nomad_backup/20251115_143630/immich.hcl | 151 ---- nomad_backup/20251115_143630/miniflux.hcl | 77 --- nomad_backup/20251115_143630/minihass.hcl | 48 -- nomad_backup/20251115_143630/navidrome.hcl | 118 ---- nomad_backup/20251115_143630/nginx.hcl | 93 --- nomad_backup/20251115_143630/nzbget.hcl | 305 -------- nomad_backup/20251115_143630/postgres-15.hcl | 116 ---- nomad_backup/20251115_143630/prometheus.hcl | 195 ------ nomad_backup/20251115_143630/prowlarr.hcl | 138 ---- nomad_backup/20251115_143630/qautomate.hcl | 59 -- nomad_backup/20251115_143630/qbittorrent.hcl | 351 ---------- nomad_backup/20251115_143630/radarr.hcl | 156 ----- nomad_backup/20251115_143630/slskd.hcl | 149 ---- nomad_backup/20251115_143630/sonarr.hcl | 158 ----- nomad_backup/20251115_143630/traefik.hcl | 218 ------ nomad_backup/20251115_143630/trilium.hcl | 106 --- nomad_backup/20251115_143630/vaultwarden.hcl | 231 ------- nomad_backup/20251115_143630/wallabag.hcl | 85 --- nomad_backup/20251115_143630/wireguard.hcl | 65 -- 135 files changed, 23570 deletions(-) delete mode 100644 nomad_backup/20251115_141532/acme.json delete mode 100644 nomad_backup/20251115_141532/auth.json delete mode 100644 nomad_backup/20251115_141532/calendar-proxy.json delete mode 100644 nomad_backup/20251115_141532/democratic-csi-local.json delete mode 100644 nomad_backup/20251115_141532/foodplanner.json delete mode 100644 nomad_backup/20251115_141532/gonic.json delete mode 100644 nomad_backup/20251115_141532/hass.json delete mode 100644 nomad_backup/20251115_141532/immich.json delete mode 100644 nomad_backup/20251115_141532/miniflux.json delete mode 100644 nomad_backup/20251115_141532/minihass.json delete mode 100644 nomad_backup/20251115_141532/navidrome.json delete mode 100644 nomad_backup/20251115_141532/nginx.json delete mode 100644 nomad_backup/20251115_141532/nzbget.json delete mode 100644 nomad_backup/20251115_141532/postgres-15.json delete mode 100644 nomad_backup/20251115_141532/prometheus.json delete mode 100644 nomad_backup/20251115_141532/prowlarr.json delete mode 100644 nomad_backup/20251115_141532/qautomate.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763231400.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763233200.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763235000.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763236800.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763238600.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763240400.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763242200.json delete mode 100644 nomad_backup/20251115_141532/qautomate_periodic-1763244000.json delete mode 100644 nomad_backup/20251115_141532/qbittorrent.json delete mode 100644 nomad_backup/20251115_141532/radarr.json delete mode 100644 nomad_backup/20251115_141532/slskd.json delete mode 100644 nomad_backup/20251115_141532/sonarr.json delete mode 100644 nomad_backup/20251115_141532/traefik.json delete mode 100644 nomad_backup/20251115_141532/trilium.json delete mode 100644 nomad_backup/20251115_141532/vaultwarden.json delete mode 100644 nomad_backup/20251115_141532/wallabag.json delete mode 100644 nomad_backup/20251115_141532/wireguard.json delete mode 100644 nomad_backup/20251115_142246/acme.json delete mode 100644 nomad_backup/20251115_142246/auth.json delete mode 100644 nomad_backup/20251115_142246/calendar-proxy.json delete mode 100644 nomad_backup/20251115_142246/democratic-csi-local.json delete mode 100644 nomad_backup/20251115_142246/foodplanner.json delete mode 100644 nomad_backup/20251115_142246/gonic.json delete mode 100644 nomad_backup/20251115_142246/hass.json delete mode 100644 nomad_backup/20251115_142246/immich.json delete mode 100644 nomad_backup/20251115_142246/minihass.json delete mode 100644 nomad_backup/20251115_142246/navidrome.json delete mode 100644 nomad_backup/20251115_142246/nginx.json delete mode 100644 nomad_backup/20251115_142246/nzbget.json delete mode 100644 nomad_backup/20251115_142246/postgres-15.json delete mode 100644 nomad_backup/20251115_142246/prometheus.json delete mode 100644 nomad_backup/20251115_142246/prowlarr.json delete mode 100644 nomad_backup/20251115_142246/qautomate.json delete mode 100644 nomad_backup/20251115_142246/qbittorrent.json delete mode 100644 nomad_backup/20251115_142246/radarr.json delete mode 100644 nomad_backup/20251115_142246/slskd.json delete mode 100644 nomad_backup/20251115_142246/sonarr.json delete mode 100644 nomad_backup/20251115_142246/traefik.json delete mode 100644 nomad_backup/20251115_142246/trilium.json delete mode 100644 nomad_backup/20251115_142246/vaultwarden.json delete mode 100644 nomad_backup/20251115_142246/wallabag.json delete mode 100644 nomad_backup/20251115_142246/wireguard.json delete mode 100644 nomad_backup/20251115_142432/acme.hcl delete mode 100644 nomad_backup/20251115_142432/auth.hcl delete mode 100644 nomad_backup/20251115_142432/calendar-proxy.hcl delete mode 100644 nomad_backup/20251115_142432/democratic-csi-local.hcl delete mode 100644 nomad_backup/20251115_142432/foodplanner.hcl delete mode 100644 nomad_backup/20251115_142432/gonic.hcl delete mode 100644 nomad_backup/20251115_142432/hass.hcl delete mode 100644 nomad_backup/20251115_142432/immich.hcl delete mode 100644 nomad_backup/20251115_142432/minihass.hcl delete mode 100644 nomad_backup/20251115_142432/navidrome.hcl delete mode 100644 nomad_backup/20251115_142432/nginx.hcl delete mode 100644 nomad_backup/20251115_142432/nzbget.hcl delete mode 100644 nomad_backup/20251115_142432/postgres-15.hcl delete mode 100644 nomad_backup/20251115_142432/prometheus.hcl delete mode 100644 nomad_backup/20251115_142432/prowlarr.hcl delete mode 100644 nomad_backup/20251115_142432/qautomate.hcl delete mode 100644 nomad_backup/20251115_142432/qbittorrent.hcl delete mode 100644 nomad_backup/20251115_142432/radarr.hcl delete mode 100644 nomad_backup/20251115_142432/slskd.hcl delete mode 100644 nomad_backup/20251115_142432/sonarr.hcl delete mode 100644 nomad_backup/20251115_142432/traefik.hcl delete mode 100644 nomad_backup/20251115_142432/trilium.hcl delete mode 100644 nomad_backup/20251115_142432/vaultwarden.hcl delete mode 100644 nomad_backup/20251115_142432/wallabag.hcl delete mode 100644 nomad_backup/20251115_142432/wireguard.hcl delete mode 100644 nomad_backup/20251115_142628/acme.hcl delete mode 100644 nomad_backup/20251115_142628/auth.hcl delete mode 100644 nomad_backup/20251115_142628/calendar-proxy.hcl delete mode 100644 nomad_backup/20251115_142628/democratic-csi-local.hcl delete mode 100644 nomad_backup/20251115_142628/foodplanner.hcl delete mode 100644 nomad_backup/20251115_142628/gonic.hcl delete mode 100644 nomad_backup/20251115_142628/hass.hcl delete mode 100644 nomad_backup/20251115_142628/immich.hcl delete mode 100644 nomad_backup/20251115_142628/minihass.hcl delete mode 100644 nomad_backup/20251115_142628/navidrome.hcl delete mode 100644 nomad_backup/20251115_142628/nginx.hcl delete mode 100644 nomad_backup/20251115_142628/nzbget.hcl delete mode 100644 nomad_backup/20251115_142628/postgres-15.hcl delete mode 100644 nomad_backup/20251115_142628/prometheus.hcl delete mode 100644 nomad_backup/20251115_142628/prowlarr.hcl delete mode 100644 nomad_backup/20251115_142628/qautomate.hcl delete mode 100644 nomad_backup/20251115_142628/qbittorrent.hcl delete mode 100644 nomad_backup/20251115_142628/radarr.hcl delete mode 100644 nomad_backup/20251115_142628/slskd.hcl delete mode 100644 nomad_backup/20251115_142628/sonarr.hcl delete mode 100644 nomad_backup/20251115_142628/traefik.hcl delete mode 100644 nomad_backup/20251115_142628/trilium.hcl delete mode 100644 nomad_backup/20251115_142628/vaultwarden.hcl delete mode 100644 nomad_backup/20251115_142628/wallabag.hcl delete mode 100644 nomad_backup/20251115_142628/wireguard.hcl delete mode 100644 nomad_backup/20251115_143630/acme.hcl delete mode 100644 nomad_backup/20251115_143630/auth.hcl delete mode 100644 nomad_backup/20251115_143630/calendar-proxy.hcl delete mode 100644 nomad_backup/20251115_143630/democratic-csi-local.hcl delete mode 100644 nomad_backup/20251115_143630/foodplanner.hcl delete mode 100644 nomad_backup/20251115_143630/gonic.hcl delete mode 100644 nomad_backup/20251115_143630/hass.hcl delete mode 100644 nomad_backup/20251115_143630/immich.hcl delete mode 100644 nomad_backup/20251115_143630/miniflux.hcl delete mode 100644 nomad_backup/20251115_143630/minihass.hcl delete mode 100644 nomad_backup/20251115_143630/navidrome.hcl delete mode 100644 nomad_backup/20251115_143630/nginx.hcl delete mode 100644 nomad_backup/20251115_143630/nzbget.hcl delete mode 100644 nomad_backup/20251115_143630/postgres-15.hcl delete mode 100644 nomad_backup/20251115_143630/prometheus.hcl delete mode 100644 nomad_backup/20251115_143630/prowlarr.hcl delete mode 100644 nomad_backup/20251115_143630/qautomate.hcl delete mode 100644 nomad_backup/20251115_143630/qbittorrent.hcl delete mode 100644 nomad_backup/20251115_143630/radarr.hcl delete mode 100644 nomad_backup/20251115_143630/slskd.hcl delete mode 100644 nomad_backup/20251115_143630/sonarr.hcl delete mode 100644 nomad_backup/20251115_143630/traefik.hcl delete mode 100644 nomad_backup/20251115_143630/trilium.hcl delete mode 100644 nomad_backup/20251115_143630/vaultwarden.hcl delete mode 100644 nomad_backup/20251115_143630/wallabag.hcl delete mode 100644 nomad_backup/20251115_143630/wireguard.hcl diff --git a/nomad_backup/20251115_141532/acme.json b/nomad_backup/20251115_141532/acme.json deleted file mode 100644 index 1df62e8..0000000 --- a/nomad_backup/20251115_141532/acme.json +++ /dev/null @@ -1,385 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13570366, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "acme", - "JobModifyIndex": 13570366, - "Meta": null, - "ModifyIndex": 13570366, - "Multiregion": null, - "Name": "acme", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": { - "Enabled": true, - "ProhibitOverlap": true, - "Spec": "@weekly", - "SpecType": "cron", - "Specs": [], - "TimeZone": "UTC" - }, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1738335438469388686, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "acme", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 1, - "Delay": 30000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/acme.sh" - ], - "entrypoint": [ - "/local/acme_wrapper.sh" - ], - "image": "neilpang/acme.sh" - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "DuckDNS_Token": "e4b5ca33-1f4d-494b-b06d-6dd4600df662", - "CONSUL_URL": "${attr.unique.network.ip-address}", - "DEDYN_TOKEN": "JPwQpUiWGkKHSkmGEC4YAeGiGFki" - }, - "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": "acme", - "Resources": { - "CPU": 256, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 64, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 1, - "Delay": 30000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "noop", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/acme_wrapper.sh", - "EmbeddedTmpl": "{{ key \"scripts/acme.sh\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - } - ], - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "flock", - "-x", - "/locks/${NOMAD_GROUP_NAME}_rsync.lock", - "rsync", - "-avz", - "--delete-excluded", - "--exclude=renewal", - "--exclude='live'", - "--exclude='archive'", - "--exclude='keys'", - "--exclude='csr'", - "/configbackup/", - "/config/", - "--delete-before" - ], - "image": "ghcr.io/sstent/rsync", - "memory_hard_limit": 2048.0, - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - "/mnt/Public/config/locks:/locks" - ] - }, - "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": 1, - "Delay": 30000000000, - "Interval": 86400000000000, - "Mode": "fail", - "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", - "memory_hard_limit": 2048.0, - "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", - "-av", - "--delete-excluded", - "--exclude=renewal", - "--exclude='live'", - "--exclude='archive'", - "--exclude='keys'", - "--exclude='csr'", - "/config/", - "/configbackup/", - "--remove-source-files" - ] - }, - "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": 1, - "Delay": 30000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/auth.json b/nomad_backup/20251115_141532/auth.json deleted file mode 100644 index 39dbfd2..0000000 --- a/nomad_backup/20251115_141532/auth.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13571978, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "auth", - "JobModifyIndex": 13770263, - "Meta": null, - "ModifyIndex": 13990955, - "Multiregion": null, - "Name": "auth", - "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": 1748145867863720703, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "auth", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "port_map": [ - { - "auth": 4181.0 - } - ], - "image": "thomseddon/traefik-forward-auth:2-arm", - "volumes": [ - "/etc/localtime:/etc/localtime:ro" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "CONFIG": "/local/config.ini", - "LIFETIME": "31536000", - "WHITELIST": "stuart.stent@gmail.com,stephen.bunt@gmail.com", - "COOKIE_DOMAIN": "fbleagh.duckdns.org", - "PROVIDERS_GOOGLE_CLIENT_ID": "807888907647-uog95jmiolsuh6ql1t8jm53l1jvuajck.apps.googleusercontent.com", - "PROVIDERS_GOOGLE_CLIENT_SECRET": "B8bDri5mFvGv-Ghzbt8fLj4W", - "SECRET": "ladskfdjmqwermnnbasfnmldas" - }, - "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": "fwdauth", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 64, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "auth", - "Value": 4181 - } - ] - } - ], - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"dex\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "fwdauth", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "dex", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "auth", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "fwdauth", - "web", - "traefik.http.routers.dex.rule=Host(`fwdauth.fbleagh.duckdns.org`,`fwdauth.fbleagh.dedyn.io`)", - "traefik.http.routers.dex.entrypoints=websecure", - "traefik.http.routers.dex.tls=true", - "traefik.http.middlewares.dex.forwardauth.address=http://dex.service.dc1.consul:4181", - "traefik.http.middlewares.dex.forwardauth.trustForwardHeader=true", - "traefik.http.middlewares.dex.forwardauth.authResponseHeaders=X-Forwarded-User", - "traefik.http.routers.auth.middlewares=dex", - "traefik.http.routers.traefik-forward-auth.middlewares=dex" - ], - "TaskName": "fwdauth", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/config.ini", - "EmbeddedTmpl": "{{ key \"Dex\" }}", - "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 - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 2, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/calendar-proxy.json b/nomad_backup/20251115_141532/calendar-proxy.json deleted file mode 100644 index 923590c..0000000 --- a/nomad_backup/20251115_141532/calendar-proxy.json +++ /dev/null @@ -1,406 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13940845, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "calendar-proxy", - "JobModifyIndex": 13940997, - "Meta": null, - "ModifyIndex": 13991837, - "Multiregion": null, - "Name": "calendar-proxy", - "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": 1755792931244089317, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": "web", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 80 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 25000000000, - "Interval": 300000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"calendar-proxy\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "/health", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "", - "Timeout": 3000000000, - "Type": "http" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "calendar-proxy", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "traefik.enable=true", - "traefik.http.routers.calendar-proxy.rule=Host(`mail.fbleagh.duckdns.org`)", - "traefik.http.routers.calendar-proxy.entrypoints=web" - ], - "TaskName": "", - "Weights": null - } - ], - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "local/nginx.conf:/etc/nginx/nginx.conf", - "local/app:/var/www/html" - ], - "image": "nginx:alpine", - "ports": [ - "http" - ] - }, - "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": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "nginx", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 25000000000, - "Interval": 300000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/nginx.conf", - "EmbeddedTmpl": "events {\n worker_connections 1024;\n}\n\nhttp {\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n \n sendfile on;\n keepalive_timeout 65;\n \n upstream php-fpm {\n server 127.0.0.1:9000;\n }\n \n server {\n listen 80;\n server_name mail.fbleagh.duckdns.org;\n root /var/www/html;\n index ics.php;\n \n location /health {\n access_log off;\n return 200 \"healthy\\n\";\n add_header Content-Type text/plain;\n }\n \n location / {\n try_files $uri $uri/ /ics.php?$query_string;\n }\n \n location ~ \\.php$ {\n fastcgi_pass php-fpm;\n fastcgi_index index.php;\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n include fastcgi_params;\n }\n \n # Security headers\n add_header X-Frame-Options \"SAMEORIGIN\" always;\n add_header X-XSS-Protection \"1; mode=block\" always;\n add_header X-Content-Type-Options \"nosniff\" always;\n \n # Hide nginx version\n server_tokens off;\n }\n}\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/app/ics.php", - "EmbeddedTmpl": " [\n \"header\" => \"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\",\n ]\n]);\nif (($data = @file_get_contents($url, false, $context)) === false) {\n $error = error_get_last();\n http_response_code(500);\n print \"HTTP request failed: \" . $error['message'];\n exit;\n}\nheader('Content-Type: text/calendar; charset=utf-8');\nprint $data;\n?>\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": { - "network_mode": "container:nginx-${NOMAD_ALLOC_ID}", - "volumes": [ - "local/app:/var/www/html", - "local/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf" - ], - "image": "php:8.2-fpm-alpine" - }, - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "php-fpm", - "Resources": { - "CPU": 200, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 25000000000, - "Interval": 300000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/php-fpm.conf", - "EmbeddedTmpl": "[www]\nuser = www-data\ngroup = www-data\nlisten = 127.0.0.1:9000\nlisten.owner = www-data\nlisten.group = www-data\npm = dynamic\npm.max_children = 5\npm.start_servers = 2\npm.min_spare_servers = 1\npm.max_spare_servers = 3\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/app/ics.php", - "EmbeddedTmpl": " [\n \"header\" => \"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\",\n ]\n]);\nif (($data = @file_get_contents($url, false, $context)) === false) {\n $error = error_get_last();\n http_response_code(500);\n print \"HTTP request failed: \" . $error['message'];\n exit;\n}\nheader('Content-Type: text/calendar; charset=utf-8');\nprint $data;\n?>\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 - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": true, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 180000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 7, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/democratic-csi-local.json b/nomad_backup/20251115_141532/democratic-csi-local.json deleted file mode 100644 index ef6cb9f..0000000 --- a/nomad_backup/20251115_141532/democratic-csi-local.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13925181, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "democratic-csi-local", - "JobModifyIndex": 13925215, - "Meta": null, - "ModifyIndex": 13925215, - "Multiregion": null, - "Name": "democratic-csi-local", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1755193604654316261, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "controller", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": null, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": { - "HealthTimeout": 30000000000, - "ID": "org.democratic-csi.local-hostpath", - "MountDir": "/csi", - "StagePublishBaseDir": "/local/csi", - "Type": "controller" - }, - "Config": { - "volumes": [ - "local/config:/config:ro" - ], - "args": [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=controller", - "--server-socket=/csi/csi.sock" - ], - "image": "democraticcsi/democratic-csi:latest" - }, - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "controller", - "Resources": { - "CPU": 256, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/config/driver-config-file.yaml", - "EmbeddedTmpl": "driver: local-hostpath\ninstance_id: {{ env \"node.unique.id\" }}\nlocal-hostpath:\n shareBasePath: \"/tmp/democratic-csi-local-hostpath\"\n controllerBasePath: \"/tmp/democratic-csi-local-hostpath\"\n dirPermissionsMode: \"0755\"\n dirPermissionsUser: 0\n dirPermissionsGroup: 0\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 - } - ], - "Update": null, - "Volumes": null - }, - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "nodes", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": null, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": { - "HealthTimeout": 30000000000, - "ID": "org.democratic-csi.local-hostpath", - "MountDir": "/csi", - "StagePublishBaseDir": "/local/csi", - "Type": "node" - }, - "Config": { - "volumes": [ - "local/config:/config:ro", - "/tmp/democratic-csi-local-hostpath:/tmp/democratic-csi-local-hostpath:rshared" - ], - "args": [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=node", - "--server-socket=/csi/csi.sock" - ], - "image": "democraticcsi/democratic-csi:latest", - "privileged": true - }, - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "node", - "Resources": { - "CPU": 256, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/config/driver-config-file.yaml", - "EmbeddedTmpl": "driver: local-hostpath\ninstance_id: {{ env \"node.unique.id\" }}\nlocal-hostpath:\n shareBasePath: \"/tmp/democratic-csi-local-hostpath\"\n controllerBasePath: \"/tmp/democratic-csi-local-hostpath\"\n dirPermissionsMode: \"0755\"\n dirPermissionsUser: 0\n dirPermissionsGroup: 0\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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "system", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 1, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/foodplanner.json b/nomad_backup/20251115_141532/foodplanner.json deleted file mode 100644 index 3470e7e..0000000 --- a/nomad_backup/20251115_141532/foodplanner.json +++ /dev/null @@ -1,405 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14064853, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "foodplanner", - "JobModifyIndex": 14064853, - "Meta": null, - "ModifyIndex": 14064866, - "Multiregion": null, - "Name": "foodplanner", - "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": 1759672953055136364, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": "app", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8999 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"foodplanner\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "/", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "", - "Timeout": 2000000000, - "Type": "http" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "foodplanner", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": null, - "TaskName": "", - "Weights": null - } - ], - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/opt/nomad/data:/data" - ], - "args": [ - "restore", - "-o", - "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ], - "image": "litestream/litestream:0.3" - }, - "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": "restore", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": { - "ports": [ - "http" - ], - "volumes": [ - "/mnt/Public/configs/FoodPlanner_backups:/app/backups/" - ], - "image": "ghcr.io/sstent/foodplanner:main" - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "DATABASE_PATH": "/alloc/tmp", - "DATABASE_URL": "sqlite:////alloc/tmp/meal_planner.db" - }, - "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": "app", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 1024, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 600000000000, - "Mode": "fail", - "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": "litestream/litestream:0.3", - "args": [ - "replicate", - "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "litestream", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/gonic.json b/nomad_backup/20251115_141532/gonic.json deleted file mode 100644 index f3a6c9f..0000000 --- a/nomad_backup/20251115_141532/gonic.json +++ /dev/null @@ -1,542 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13923644, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "gonic", - "JobModifyIndex": 13923644, - "Meta": null, - "ModifyIndex": 13991159, - "Multiregion": null, - "Name": "gonic", - "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": 1755124884723774513, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "gonic", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/configs/gonic/data:/data", - "/mnt/configs/gonic/cache:/cache", - "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", - "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", - "/mnt/Public/Downloads/podcasts:/podcasts", - "/mnt/Public/Downloads/musicplaylists:/musicplaylists" - ], - "port_map": [ - { - "http": 80.0 - } - ], - "image": "sentriz/gonic" - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "GONIC_SCAN_INTERVAL": "120", - "GONIC_MUSIC_PATH": "/music", - "GONIC_PODCAST_PATH": "/podcasts", - "GONIC_PLAYLISTS_PATH": "/musicplaylists" - }, - "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": "gonic", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "Value": 4747 - } - ] - } - ], - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"gonic\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "gonic", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": { - "ALLOC": "${NOMAD_ALLOC_ID}" - }, - "Name": "gonic", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "gonic", - "web", - "urlprefix-/gonic", - "backend", - "traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)", - "traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)", - "traefik.http.routers.gonicwan.tls=true", - "traefik.http.routers.gonicwan.tls.certresolver=myresolver" - ], - "TaskName": "gonic", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "memory_hard_limit": "2048", - "image": "ghcr.io/sstent/rsync", - "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", - "-av", - "--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-manual", - "Resources": { - "CPU": 20, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 20, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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/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", - "-av", - "/config/", - "/configbackup/" - ], - "memory_hard_limit": "2048", - "image": "ghcr.io/sstent/rsync" - }, - "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-manual", - "Resources": { - "CPU": 20, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 20, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup" - ], - "memory_hard_limit": "2048", - "image": "ghcr.io/sstent/rsync" - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "db-sync", - "Resources": { - "CPU": 20, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 20, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/litestream.yml", - "EmbeddedTmpl": "dbs:\n - path: /data/gonic.db\n replicas:\n - path: /configbackup\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 - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/hass.json b/nomad_backup/20251115_141532/hass.json deleted file mode 100644 index cf02da6..0000000 --- a/nomad_backup/20251115_141532/hass.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "Affinities": [ - { - "LTarget": "${attr.unique.hostname}", - "Operand": "=", - "RTarget": "odroid2", - "Weight": 80 - } - ], - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13607995, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "hass", - "JobModifyIndex": 13992633, - "Meta": null, - "ModifyIndex": 13992664, - "Multiregion": null, - "Name": "hass", - "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": 1757869441327214250, - "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": "hass", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8123, - "Value": 8123 - }, - { - "HostNetwork": "default", - "Label": "http_8989", - "To": 8989, - "Value": 8989 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 99, - "Delay": 10000000000, - "Interval": 3600000000000, - "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": "2048", - "image_pull_timeout": "10m", - "force_pull": false, - "image": "ghcr.io/sstent/rsync", - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - "/mnt/Public/config/locks:/locks" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "DB_NAME": "home-assistant_v2.db" - }, - "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": 99, - "Delay": 10000000000, - "Interval": 3600000000000, - "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", - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - "/mnt/Public/config/locks:/locks" - ], - "memory_hard_limit": "2048" - }, - "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": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 99, - "Delay": 10000000000, - "Interval": 3600000000000, - "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": { - "args": [ - "client" - ], - "memory_hard_limit": "2048", - "image": "ghcr.io/sstent/rsync", - "volumes": [ - "/mnt/configs/:/configs", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "CRON_TASK_1": "50 8-20 * * *rsync -av --exclude='*.db*' --exclude='*.db' --exclude='.db-litestream' --exclude='generations' /configs/${NOMAD_GROUP_NAME}/ /configbackup/;" - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "sync", - "Resources": { - "CPU": 20, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 20, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 99, - "Delay": 10000000000, - "Interval": 3600000000000, - "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": { - "network_mode": "host", - "cap_add": [ - "NET_ADMIN" - ], - "force_pull": false, - "volumes": [ - "/etc/localtime:/etc/localtime", - "local/configuration.yaml:/config/configuration.yaml", - "local/ui-lovelace.yaml:/config/ui-lovelace.yaml", - "/mnt/configs/hass:/config" - ], - "image": "ghcr.io/home-assistant/home-assistant:stable", - "ports": [ - "http", - "http_8989" - ], - "memory_hard_limit": "2048" - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "JEMALLOC_DISABLE": "true" - }, - "Identities": null, - "Identity": { - "Audience": [ - "nomadproject.io" - ], - "ChangeMode": "", - "ChangeSignal": "", - "Env": false, - "File": false, - "Filepath": "", - "Name": "default", - "ServiceName": "", - "TTL": 0 - }, - "KillSignal": "", - "KillTimeout": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "hass", - "Resources": { - "CPU": 256, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 99, - "Delay": 10000000000, - "Interval": 3600000000000, - "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": "hass", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "global", - "homeassistant", - "tools", - "logo=home-assistant" - ], - "TaskName": "hass", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/configuration.yaml", - "EmbeddedTmpl": "{{ key \"homeassistant/configuration.yml\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/ui-lovelace.yaml", - "EmbeddedTmpl": "{{ key \"homeassistant/lovelace.yml\" }}", - "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 - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 10000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 8, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/immich.json b/nomad_backup/20251115_141532/immich.json deleted file mode 100644 index c060b66..0000000 --- a/nomad_backup/20251115_141532/immich.json +++ /dev/null @@ -1,414 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13571905, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "immich", - "JobModifyIndex": 14198769, - "Meta": null, - "ModifyIndex": 14198796, - "Multiregion": null, - "Name": "immich", - "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": 1763139333220876334, - "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": "immich", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8080, - "Value": 8088 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 30000000000, - "Interval": 300000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/imagegenius/immich:2.2.3-noml", - "memory_hard_limit": "2048", - "ports": [ - "http" - ], - "volumes": [ - "/mnt/Public/configs/Immich:/config", - "/mnt/Public/Immich/Photos:/photos", - "/mnt/Public/Immich/libraries:/libraries" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "DB_PORT": "5432", - "REDIS_HOSTNAME": "redis.service.dc1.consul", - "MACHINE_LEARNING_WORKER_TIMEOUT": "120", - "DB_PASSWORD": "postgres", - "PUID": "1000", - "DB_HOSTNAME": "master.postgres.service.dc1.consul", - "PGID": "1000", - "REDIS_PORT": "6379", - "MACHINE_LEARNING_PORT": "3003", - "MACHINE_LEARNING_HOST": "0.0.0.0", - "DB_VECTOR_EXTENSION": "pgvector", - "MACHINE_LEARNING_WORKERS": "1", - "DB_USERNAME": "postgres", - "REDIS_PASSWORD": "", - "TZ": "Etc/UTC", - "DB_DATABASE_NAME": "immich" - }, - "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": "immich", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 512, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 30000000000, - "Interval": 300000000000, - "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": "immich", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "immich", - "tools", - "traefik.http.routers.immichlan.rule=Host(`immich.service.dc1.consul`)", - "traefik.http.routers.immichwan.rule=Host(`immich.fbleagh.duckdns.org`)", - "traefik.http.routers.immichwan.tls=true" - ], - "TaskName": "immich", - "Weights": 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": 30000000000 - }, - "Volumes": null - }, - { - "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": "redis", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "redis", - "Value": 6379 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 30000000000, - "Interval": 300000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "redis", - "ports": [ - "redis" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "redis", - "Resources": { - "CPU": 250, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 30000000000, - "Interval": 300000000000, - "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": "redis", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "redis", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "wallabag", - "tools" - ], - "TaskName": "redis", - "Weights": 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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 15, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/miniflux.json b/nomad_backup/20251115_141532/miniflux.json deleted file mode 100644 index 8b5490b..0000000 --- a/nomad_backup/20251115_141532/miniflux.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13716709, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "miniflux", - "JobModifyIndex": 13716709, - "Meta": null, - "ModifyIndex": 13990946, - "Multiregion": null, - "Name": "miniflux", - "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": 1745243550127001781, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "miniflux", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8080 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "miniflux/miniflux:latest", - "ports": [ - "http" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "ADMIN_USERNAME": "admin", - "OAUTH2_PROVIDER": "google", - "ADMIN_PASSWORD": "farscape5", - "OAUTH2_CLIENT_SECRET": "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", - "RUN_MIGRATIONS": "1", - "BASE_URL": "https://miniflux.fbleagh.duckdns.org", - "OAUTH2_REDIRECT_URL": "https://miniflux.fbleagh.duckdns.org/oauth2/google/callback", - "OAUTH2_CLIENT_ID": "807888907647-g6i7t2auvbrjinf151qupc663tgpn6gh.apps.googleusercontent.com", - "CREATE_ADMIN": "1", - "DATABASE_URL": "postgres://postgres:postgres@master.postgres.service.dc1.consul/miniflux?sslmode=disable", - "OAUTH2_USER_CREATION": "1" - }, - "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": "miniflux", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": "miniflux", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "miniflux", - "tools", - "traefik.http.routers.minifluxlan.rule=Host(`miniflux.service.dc1.consul`)", - "traefik.http.routers.minifluxwan.rule=Host(`miniflux.fbleagh.duckdns.org`)", - "traefik.http.routers.minifluxwan.tls=true", - "traefik.http.middlewares.vaultwardenwan-admin-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32, 192.168.1.0/24", - "traefik.http.routers.nginx-admin.middlewares=vaultwardenwan-admin-ipwhitelist" - ], - "TaskName": "miniflux", - "Weights": 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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/minihass.json b/nomad_backup/20251115_141532/minihass.json deleted file mode 100644 index 69cd32f..0000000 --- a/nomad_backup/20251115_141532/minihass.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14013004, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "minihass", - "JobModifyIndex": 14013055, - "Meta": null, - "ModifyIndex": 14013061, - "Multiregion": null, - "Name": "minihass", - "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": 1758392051490505959, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": "smart-home", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 5000 - } - ], - "Mode": "host" - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 30000000000, - "Method": "", - "Name": "service: \"minihass\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "/health", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "", - "Timeout": 7000000000, - "Type": "http" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "minihass", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "traefik.http.routers.minihasslan.rule=Host(`minihass.service.dc1.consul`)", - "traefik.http.routers.minihasswan.rule=Host(`mh.fbleagh.duckdns.org`)", - "traefik.http.routers.minihasswan.middlewares=dex@consulcatalog", - "traefik.http.routers.minihasswan.tls=true" - ], - "TaskName": "", - "Weights": null - } - ], - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/sstent/minihass", - "ports": [ - "http" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "CONSUL_HOST": "consul.service.dc1.consul", - "CONSUL_PORT": "8500" - }, - "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": "app", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 3, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/navidrome.json b/nomad_backup/20251115_141532/navidrome.json deleted file mode 100644 index 21bff4f..0000000 --- a/nomad_backup/20251115_141532/navidrome.json +++ /dev/null @@ -1,439 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13928915, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "navidrome", - "JobModifyIndex": 14171074, - "Meta": null, - "ModifyIndex": 14171094, - "Multiregion": null, - "Name": "navidrome", - "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": 1762404740673447473, - "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": "navidrome", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 4533, - "Value": 4533 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "restore", - "-if-replica-exists", - "-if-db-not-exists", - "-o", - "/alloc/tmp/navidrome.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/navidrome.db" - ], - "volumes": [ - "/mnt/configs/navidrome:/data" - ], - "image": "litestream/litestream:latest" - }, - "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": "restore", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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", - "ports": [ - "http" - ], - "volumes": [ - "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", - "/mnt/Public/Downloads/news/slskd/downloads:/music/slskd:ro", - "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", - "/mnt/configs/navidrome:/data" - ], - "image": "ghcr.io/navidrome/navidrome:latest" - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "ND_BACKUP_COUNT": "7", - "ND_BACKUP_SCHEDULE": "0 0 * * *", - "ND_LOGLEVEL": "debug", - "ND_DATAFOLDER": "/alloc/tmp/", - "ND_REVERSEPROXYWHITELIST": "0.0.0.0/0", - "ND_SCANSCHEDULE": "32 8-20 * * *", - "ND_SCANNER_GROUPALBUMRELEASES": "False", - "ND_REVERSEPROXYUSERHEADER": "X-Forwarded-User", - "ND_BACKUP_PATH": "/data", - "ND_CACHEFOLDER": "./data/cache" - }, - "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": "navidrome", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"navidrome\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "navidrome", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "navidrome", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "navidrome", - "web", - "urlprefix-/navidrome", - "tools", - "traefik.http.routers.navidromelan.rule=Host(`navidrome.service.dc1.consul`)", - "traefik.http.routers.navidromewan.rule=Host(`fbleagh-m.ignorelist.com`)", - "traefik.http.routers.navidromewan.rule=Host(`m.fbleagh.duckdns.org`,`m.fbleagh.dedyn.io`)", - "traefik.http.routers.navidromewan.middlewares=dex@consulcatalog", - "traefik.http.routers.navidromewan.tls=true" - ], - "TaskName": "navidrome", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "litestream/litestream:latest", - "args": [ - "replicate", - "/alloc/tmp/navidrome.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/navidrome.db" - ], - "volumes": [ - "/mnt/configs/navidrome:/data" - ] - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "litestream", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 22, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/nginx.json b/nomad_backup/20251115_141532/nginx.json deleted file mode 100644 index e655e7a..0000000 --- a/nomad_backup/20251115_141532/nginx.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13996170, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "nginx", - "JobModifyIndex": 13996170, - "Meta": null, - "ModifyIndex": 13996178, - "Multiregion": null, - "Name": "nginx", - "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": 1757964378356074970, - "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": "nginx", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8080 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "custom/default.conf:/etc/nginx/conf.d/default.conf" - ], - "image": "nginx", - "ports": [ - "http" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "nginx", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 64, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"nginx\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "nginx", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "nginx", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "nginx", - "web", - "urlprefix-/nginx", - "backend" - ], - "TaskName": "nginx", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "custom/default.conf", - "EmbeddedTmpl": " server {\n listen 8080;\n server_name nginx.service.dc1.consul;\n location / {\n root /local/data;\n }\n }\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "noop", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/data/index.html", - "EmbeddedTmpl": "

Local Services - HTTP/HTTPS

\n \n \n \n \n \n \n {{range services}}\n {{range $i, $s :=service .Name}}\n {{ if eq $i 0 }}\n\n\n \n \n \n \n {{end}}\n {{end}}\n {{end}}\n
Service NameTraefikDirect
{{.Name}}{{.Name}}.service.dc1.consul{{ if eq .Name \"unifi\" }}https{{else}}http{{end}}://{{.Name}}.service.dc1.consul:{{.Port}}
\n

\n Node Environment Information:
\n node_id: {{ env \"node.unique.id\" }}
\n datacenter: {{ env \"NOMAD_DC\" }}\n

\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 - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/nzbget.json b/nomad_backup/20251115_141532/nzbget.json deleted file mode 100644 index 1b91ea5..0000000 --- a/nomad_backup/20251115_141532/nzbget.json +++ /dev/null @@ -1,650 +0,0 @@ -{ - "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 -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/postgres-15.json b/nomad_backup/20251115_141532/postgres-15.json deleted file mode 100644 index 936fde0..0000000 --- a/nomad_backup/20251115_141532/postgres-15.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13569048, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "postgres-15", - "JobModifyIndex": 13569135, - "Meta": null, - "ModifyIndex": 13569135, - "Multiregion": null, - "Name": "postgres-15", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1738279443028435823, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "group", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "api", - "To": 8008, - "Value": 8008 - }, - { - "HostNetwork": "default", - "Label": "pg", - "To": 5432, - "Value": 5432 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": null, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "ports": [ - "api", - "pg" - ], - "image": "ghcr.io/sstent/nomad-pgsql-patroni:latest", - "volumes": [ - "/mnt/configs/postgres:/store" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "PGDATA": "/store/data" - }, - "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": "db", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 1024, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "/secrets/patroni.yml", - "EmbeddedTmpl": "scope: postgres\nname: pg-{{env \"node.unique.name\"}}\nnamespace: /nomad\n\nrestapi:\n listen: 0.0.0.0:8008\n connect_address: {{env \"attr.unique.network.ip-address\"}}:8008\n\nconsul:\n scheme: http\n host: {{env \"attr.unique.network.ip-address\"}}:8500\n register_service: True\n\nbootstrap:\n dcs:\n ttl: 30\n loop_wait: 10\n retry_timeout: 10\n maximum_lag_on_failover: 1048576\n postgresql:\n use_pg_rewind: true\n use_slots: true\n parameters:\n timezone: 'UTC'\n max_connections: 100\n shared_preload_libraries: pg_stat_statements\n shared_buffers: 64MB\n work_mem: 16MB\n effective_cache_size: 512MB\n tcp_keepalives_idle: 300\n timescaledb.telemetry_level: off\n\n method: local\n local:\n command: /usr/local/bin/docker-initdb.sh\n keep_existing_recovery_conf: True\n\n initdb:\n - encoding: UTF8\n\n pg_hba:\n - host all postgres all md5\n - host replication repl all md5\n - host all all all md5\n\n users:\n postgres:\n password: postgres\n options:\n - createrole\n - createdb\n repl:\n password: repl\n options:\n - replication\n\npostgresql:\n listen: 0.0.0.0:5432\n connect_address: {{env \"attr.unique.network.ip-address\"}}:5432\n use_unix_socket: true\n data_dir: /store/data\n authentication:\n replication:\n username: repl\n password: repl\n superuser:\n username: postgres\n password: postgres\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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "system", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 2, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/prometheus.json b/nomad_backup/20251115_141532/prometheus.json deleted file mode 100644 index 100e45c..0000000 --- a/nomad_backup/20251115_141532/prometheus.json +++ /dev/null @@ -1,565 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13995677, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "prometheus", - "JobModifyIndex": 13995677, - "Meta": null, - "ModifyIndex": 13995698, - "Multiregion": null, - "Name": "prometheus", - "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": 1757952031065143001, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": [ - { - "LTarget": "${attr.os.signals}", - "Operand": "set_contains", - "RTarget": "SIGHUP" - } - ], - "Consul": null, - "Count": 2, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": { - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000 - }, - "Name": "prometheus", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 9090, - "Value": 9090 - }, - { - "HostNetwork": "default", - "Label": "alerthttp", - "To": 9093, - "Value": 9093 - }, - { - "HostNetwork": "default", - "Label": "gotifybridge", - "To": 8080, - "Value": 9094 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "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": "512", - "ports": [ - "http" - ], - "volumes": [ - "local/prometheus.yml:/etc/prometheus/prometheus.yml", - "local/alerts.yml:/etc/prometheus/alerts.yml" - ], - "args": [ - "--web.enable-admin-api", - "--config.file=/etc/prometheus/prometheus.yml" - ], - "image": "prom/prometheus", - "logging": [ - { - "type": "json-file" - } - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "prometheus", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 48, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "alive", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "/status", - "PortLabel": "http", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "prometheus", - "Timeout": 120000000000, - "Type": "http" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "prometheus", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "global", - "prometheus" - ], - "TaskName": "prometheus", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "signal", - "ChangeScript": null, - "ChangeSignal": "SIGHUP", - "DestPath": "local/prometheus.yml", - "EmbeddedTmpl": "{{ key \"prometheus_yml\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/alerts.yml", - "EmbeddedTmpl": "{{ key \"alerts\" }}", - "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": { - "args": [ - "--config.file=/local/alertmanager.yml" - ], - "image": "prom/alertmanager", - "logging": [ - { - "type": "json-file" - } - ], - "ports": [ - "alerthttp" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "alertmanager", - "Resources": { - "CPU": 128, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 48, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 60000000000, - "Method": "", - "Name": "alive", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "/status", - "PortLabel": "http", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "alertmanager", - "Timeout": 120000000000, - "Type": "http" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "alertmanager", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "alerthttp", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "global", - "prometheus" - ], - "TaskName": "alertmanager", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/alertmanager.yml", - "EmbeddedTmpl": "global:\nreceivers:\n - name: default-receiver\n - name: gotify-webhook\n webhook_configs:\n - url: \"http://prometheus.service.dc1.consul:9094/gotify_webhook\"\nroute:\n group_wait: 10s\n group_interval: 5m\n receiver: gotify-webhook\n repeat_interval: 3h\n\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": { - "ports": [ - "gotifybridge" - ], - "args": [ - "--debug" - ], - "image": "ghcr.io/druggeri/alertmanager_gotify_bridge" - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "GOTIFY_ENDPOINT": "http://gotify.service.dc1.consul/message", - "GOTIFY_TOKEN": "AQ7l7NVgtylam86" - }, - "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": "gotifybridge", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "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": 60000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 60000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/prowlarr.json b/nomad_backup/20251115_141532/prowlarr.json deleted file mode 100644 index 52d7207..0000000 --- a/nomad_backup/20251115_141532/prowlarr.json +++ /dev/null @@ -1,377 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13572040, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "prowlarr", - "JobModifyIndex": 13998460, - "Meta": null, - "ModifyIndex": 13998474, - "Multiregion": null, - "Name": "prowlarr", - "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": 1758023732088250725, - "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": "prowlarr", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 9696, - "Value": 9696 - }, - { - "HostNetwork": "default", - "Label": "http_flare", - "To": 8191, - "Value": 8191 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/flaresolverr/flaresolverr:latest", - "ports": [ - "http_flare" - ], - "dns_servers": [ - "192.168.1.1", - "1.1.1.1" - ], - "memory_hard_limit": "2048", - "force_pull": false - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "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": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "flaresolver", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "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": "prowlarr", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http_flare", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "prowlarr_pg", - "tools" - ], - "TaskName": "flaresolver", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/Public/configs/prowlarr_pg:/config" - ], - "force_pull": false, - "image": "ghcr.io/linuxserver/prowlarr:develop", - "ports": [ - "http" - ], - "dns_servers": [ - "192.168.1.1", - "1.1.1.1" - ], - "memory_hard_limit": "2048" - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "PUID": "1000", - "PGID": "1000", - "TZ": "EST5EDT" - }, - "Identities": null, - "Identity": { - "Audience": [ - "nomadproject.io" - ], - "ChangeMode": "", - "ChangeSignal": "", - "Env": false, - "File": false, - "Filepath": "", - "Name": "default", - "ServiceName": "", - "TTL": 0 - }, - "KillSignal": "", - "KillTimeout": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "prowlarr", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "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": "prowlarr", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "prowlarr_pg", - "tools" - ], - "TaskName": "prowlarr", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/healthcheck.sh", - "EmbeddedTmpl": "#!/bin/bash\n/usr/bin/curl -f \"http://localhost:${NOMAD_PORT_http}/api/v1/system/status?apikey=$(grep -Po '\\K.*?(?=<.*?>)' /config/config.xml)\"\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0755", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - } - ], - "User": "", - "Vault": null, - "VolumeMounts": null - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 10000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 2, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate.json b/nomad_backup/20251115_141532/qautomate.json deleted file mode 100644 index 9d6d374..0000000 --- a/nomad_backup/20251115_141532/qautomate.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13930001, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate", - "JobModifyIndex": 13930001, - "Meta": null, - "ModifyIndex": 13930001, - "Multiregion": null, - "Name": "qautomate", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": { - "Enabled": true, - "ProhibitOverlap": true, - "Spec": "*/30 * * * *", - "SpecType": "cron", - "Specs": [], - "TimeZone": "UTC" - }, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1755347244371339444, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ], - "image": "ghcr.io/sstent/ubuntu-python3" - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763231400.json b/nomad_backup/20251115_141532/qautomate_periodic-1763231400.json deleted file mode 100644 index 5fac92d..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763231400.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202455, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763231400", - "JobModifyIndex": 14202455, - "Meta": null, - "ModifyIndex": 14202464, - "Multiregion": null, - "Name": "qautomate/periodic-1763231400", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763231400001780238, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ], - "image": "ghcr.io/sstent/ubuntu-python3" - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763233200.json b/nomad_backup/20251115_141532/qautomate_periodic-1763233200.json deleted file mode 100644 index 61174fb..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763233200.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202496, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763233200", - "JobModifyIndex": 14202496, - "Meta": null, - "ModifyIndex": 14202504, - "Multiregion": null, - "Name": "qautomate/periodic-1763233200", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763233200005089389, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ], - "image": "ghcr.io/sstent/ubuntu-python3" - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763235000.json b/nomad_backup/20251115_141532/qautomate_periodic-1763235000.json deleted file mode 100644 index e2aeabc..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763235000.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202549, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763235000", - "JobModifyIndex": 14202549, - "Meta": null, - "ModifyIndex": 14202558, - "Multiregion": null, - "Name": "qautomate/periodic-1763235000", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763235000002643660, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/sstent/ubuntu-python3", - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ] - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763236800.json b/nomad_backup/20251115_141532/qautomate_periodic-1763236800.json deleted file mode 100644 index 4b7abcc..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763236800.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202593, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763236800", - "JobModifyIndex": 14202593, - "Meta": null, - "ModifyIndex": 14202601, - "Multiregion": null, - "Name": "qautomate/periodic-1763236800", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763236800001635486, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ], - "image": "ghcr.io/sstent/ubuntu-python3" - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763238600.json b/nomad_backup/20251115_141532/qautomate_periodic-1763238600.json deleted file mode 100644 index b20c705..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763238600.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202645, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763238600", - "JobModifyIndex": 14202645, - "Meta": null, - "ModifyIndex": 14202653, - "Multiregion": null, - "Name": "qautomate/periodic-1763238600", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763238600002832252, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/sstent/ubuntu-python3", - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ] - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763240400.json b/nomad_backup/20251115_141532/qautomate_periodic-1763240400.json deleted file mode 100644 index d81a8b0..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763240400.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202755, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763240400", - "JobModifyIndex": 14202755, - "Meta": null, - "ModifyIndex": 14202920, - "Multiregion": null, - "Name": "qautomate/periodic-1763240400", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763240400003151783, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/sstent/ubuntu-python3", - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ] - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763242200.json b/nomad_backup/20251115_141532/qautomate_periodic-1763242200.json deleted file mode 100644 index 7863c3c..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763242200.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202806, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763242200", - "JobModifyIndex": 14202806, - "Meta": null, - "ModifyIndex": 14202815, - "Multiregion": null, - "Name": "qautomate/periodic-1763242200", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763242200002299173, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "ghcr.io/sstent/ubuntu-python3", - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ] - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qautomate_periodic-1763244000.json b/nomad_backup/20251115_141532/qautomate_periodic-1763244000.json deleted file mode 100644 index 971c95c..0000000 --- a/nomad_backup/20251115_141532/qautomate_periodic-1763244000.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14202856, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "qautomate/periodic-1763244000", - "JobModifyIndex": 14202856, - "Meta": null, - "ModifyIndex": 14202864, - "Multiregion": null, - "Name": "qautomate/periodic-1763244000", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "qautomate", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "dead", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763244000001892686, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "app", - "Networks": null, - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 1, - "Delay": 5000000000, - "DelayFunction": "constant", - "Interval": 86400000000000, - "MaxDelay": 0, - "Unlimited": false - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "-v", - "-c", - "/local/prestart.sh" - ], - "image": "ghcr.io/sstent/ubuntu-python3" - }, - "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": "setup", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 3, - "Delay": 15000000000, - "Interval": 86400000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": null, - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/prestart.sh", - "EmbeddedTmpl": "#!/bin/bash\nrm /usr/lib/python3.11/EXTERNALLY-MANAGED\npip3 install qbittorrent-api --upgrade\npython3 /local/torrent_tagger.py\npython3 /local/torrent_tidy.py\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tagger.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tagger\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/torrent_tidy.py", - "EmbeddedTmpl": "{{ key \"functions/torrent_tidy\" }}", - "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 - } - ], - "Update": null, - "Volumes": null - } - ], - "Type": "batch", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 0, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 0 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/qbittorrent.json b/nomad_backup/20251115_141532/qbittorrent.json deleted file mode 100644 index 05a3faf..0000000 --- a/nomad_backup/20251115_141532/qbittorrent.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "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 -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/radarr.json b/nomad_backup/20251115_141532/radarr.json deleted file mode 100644 index 3860a9c..0000000 --- a/nomad_backup/20251115_141532/radarr.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.unique.hostname}", - "Operand": "regexp", - "RTarget": "odroid.*" - }, - { - "LTarget": "${attr.cpu.arch}", - "Operand": "regexp", - "RTarget": "arm64" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13572027, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "radarr", - "JobModifyIndex": 13928632, - "Meta": null, - "ModifyIndex": 13928632, - "Multiregion": null, - "Name": "radarr", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1755286992506450506, - "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": "radarr", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 7878, - "Value": 7878 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 5, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "dns_servers": [ - "192.168.4.250", - "192.168.4.1" - ], - "image": "linuxserver/radarr:latest", - "memory_hard_limit": "2048", - "ports": [ - "http" - ], - "volumes": [ - "/mnt/Public/Downloads/news:/downloads", - "/mnt/Public/Downloads/movies:/movies", - "/mnt/Archive/Movies:/archive", - "/mnt/Public/configs/radarr_pg:/config" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "PUID": "1000", - "TZ": "EST5EDT", - "PGID": "1000" - }, - "Identities": null, - "Identity": { - "Audience": [ - "nomadproject.io" - ], - "ChangeMode": "", - "ChangeSignal": "", - "Env": false, - "File": false, - "Filepath": "", - "Name": "default", - "ServiceName": "", - "TTL": 0 - }, - "KillSignal": "", - "KillTimeout": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "radarr", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 5, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": { - "Grace": 90000000000, - "IgnoreWarnings": false, - "Limit": 3 - }, - "Command": "/local/healthcheck.sh", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 300000000000, - "Method": "", - "Name": "check_up", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "radarr", - "Timeout": 25000000000, - "Type": "script" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "radarr", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "radarr", - "tools" - ], - "TaskName": "radarr", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/file.yml", - "EmbeddedTmpl": "---\nkey: {{ key \"ovpn-client\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/config.xml", - "EmbeddedTmpl": "\nInfo\n7878\n\n*\n9898\nFalse\n237c27f22504440385e5ee295fd65eb5\nForms\nmaster\n\nTrue\n\nDocker\nFalse\nRadarr\nDisabledForLocalAddresses\npostgres\npostgres\n5432\nmaster.postgres.service.dc1.consul\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0755", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/healthcheck.sh", - "EmbeddedTmpl": "#!/bin/bash\n/usr/bin/curl -f \"http://localhost:${NOMAD_PORT_http}/api/v3/system/status?apikey=$(grep -Eo '(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')\"\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0755", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - } - ], - "User": "", - "Vault": null, - "VolumeMounts": null - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 10000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 13, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/slskd.json b/nomad_backup/20251115_141532/slskd.json deleted file mode 100644 index b29635d..0000000 --- a/nomad_backup/20251115_141532/slskd.json +++ /dev/null @@ -1,331 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.cpu.arch}", - "Operand": "regexp", - "RTarget": "amd64" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13572054, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "slskd", - "JobModifyIndex": 14202950, - "Meta": null, - "ModifyIndex": 14202963, - "Multiregion": null, - "Name": "slskd", - "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": 1763244688965100324, - "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": "slskd", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 5000, - "Value": 5000 - }, - { - "HostNetwork": "default", - "Label": "https", - "To": 5001, - "Value": 5001 - }, - { - "HostNetwork": "default", - "Label": "guac", - "To": 6080, - "Value": 6080 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "cap_add": [ - "NET_ADMIN", - "NET_BIND_SERVICE" - ], - "volumes": [ - "/etc/localtime:/etc/localtime", - "/mnt/syncthing/mullvad:/vpn" - ], - "devices": [ - { - "host_path": "/dev/net/tun", - "container_path": "/dev/net/tun" - } - ], - "image": "qmcgaw/gluetun", - "memory_hard_limit": "1024", - "ports": [ - "http", - "https", - "guac" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "HEALTH_VPN_DURATION_ADDITION": "600s", - "SERVER_CITIES": "Montreal", - "SHADOWSOCKS_PASSWORD": "farscape5", - "WIREGUARD_ADDRESSES": "10.186.222.247/32", - "VPN_TYPE": "wireguard", - "HTTPPROXY": "on", - "WEBUI_PORT": "8080", - "HEALTH_TARGET_ADDRESS": "1.1.1.1", - "HEALTH_VPN_DURATION_INITIAL": "3600s", - "DOT_PROVIDERS": "cloudflare,google,quad9,quadrant", - "HEALTH_SUCCESS_WAIT_DURATION": "30s", - "SERVER_COUNTRIES": "Canada", - "VPN_SERVICE_PROVIDER": "airvpn", - "SHADOWSOCKS": "on", - "WIREGUARD_PRIVATE_KEY": "SPpgnVCsOnz+zzorzTiOmvDF8GElgp27dSIeYAq43Vk=", - "FIREWALL_VPN_INPUT_PORTS": "53304", - "WIREGUARD_PRESHARED_KEY": "TBb2gU8pSTSG6lT4QYr7pzNWN7wZEn0yeG4VDTtuy50=", - "DOT": "off" - }, - "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": "slskd-vpn", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 250, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "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/fletchto99/nicotine-plus-docker:latest", - "memory_hard_limit": "1024", - "network_mode": "container:slskd-vpn-${NOMAD_ALLOC_ID}", - "volumes": [ - "/mnt/Public/Downloads/news/slskd/config:/config", - "/mnt/Public/Downloads/news/slskd/shared:/shared", - "/mnt/Public/Downloads/news/slskd/downloads/:/downloads", - "/mnt/Public/Downloads/news/slskd/incomplete/:/incomplete" - ] - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "PGID": "1000", - "TZ": "Etc/UTC", - "LISTENING_PORT": "53304", - "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": "nicotine", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "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": 10000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 14, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/sonarr.json b/nomad_backup/20251115_141532/sonarr.json deleted file mode 100644 index 38a6e5d..0000000 --- a/nomad_backup/20251115_141532/sonarr.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.cpu.arch}", - "Operand": "regexp", - "RTarget": "amd64" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13572015, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "sonarr", - "JobModifyIndex": 13991917, - "Meta": null, - "ModifyIndex": 14202918, - "Multiregion": null, - "Name": "sonarr", - "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": 1757855044385846000, - "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": "sonarr", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8989, - "Value": 8989 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "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": "2048", - "volumes": [ - "/mnt/Public/Downloads/news:/downloads", - "/mnt/Public/Downloads/tv:/tv", - "/mnt/Public/configs/sonarr_pg:/config" - ], - "force_pull": false, - "image": "linuxserver/sonarr:develop", - "ports": [ - "http" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "TZ": "EST5EDT", - "PUID": "1000", - "PGID": "1000" - }, - "Identities": null, - "Identity": { - "Audience": [ - "nomadproject.io" - ], - "ChangeMode": "", - "ChangeSignal": "", - "Env": false, - "File": false, - "Filepath": "", - "Name": "default", - "ServiceName": "", - "TTL": 0 - }, - "KillSignal": "", - "KillTimeout": 10000000000, - "Kind": "", - "Leader": false, - "Lifecycle": null, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 15, - "MaxFiles": 12 - }, - "Meta": null, - "Name": "sonarr", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": { - "Grace": 90000000000, - "IgnoreWarnings": false, - "Limit": 3 - }, - "Command": "/local/healthcheck.sh", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 60000000000, - "Method": "", - "Name": "check_up", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "sonarr", - "Timeout": 5000000000, - "Type": "script" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "sonarr", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "sonarr", - "tools" - ], - "TaskName": "sonarr", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/healthcheck.sh", - "EmbeddedTmpl": "#!/bin/bash\n/usr/bin/curl -f \"http://localhost:${NOMAD_PORT_http}/api/v3/system/status?apikey=$(grep -Eo '(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')\"\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0755", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/file.yml", - "EmbeddedTmpl": "---\nkey: {{ key \"ovpn-client\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/config.xml", - "EmbeddedTmpl": "\nInfo\n8989\n/sonarr\n*\n9898\nFalse\n1632787062fb47a9a6eb4c88e32b3ff3\nNone\ndevelop\nTrue\n\nDocker\nFalse\n/config/restart.sh\nSonarr\npostgres\npostgres\n5432\nmaster.postgres.service.dc1.consul\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0755", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - } - ], - "User": "", - "Vault": null, - "VolumeMounts": null - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 10000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 20, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/traefik.json b/nomad_backup/20251115_141532/traefik.json deleted file mode 100644 index f41a9cc..0000000 --- a/nomad_backup/20251115_141532/traefik.json +++ /dev/null @@ -1,391 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13570367, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "traefik", - "JobModifyIndex": 14202342, - "Meta": null, - "ModifyIndex": 14202342, - "Multiregion": null, - "Name": "traefik", - "Namespace": "default", - "NodePool": "default", - "NomadTokenID": "", - "ParameterizedJob": null, - "ParentID": "", - "Payload": null, - "Periodic": null, - "Priority": 50, - "Region": "global", - "Spreads": null, - "Stable": false, - "Status": "running", - "StatusDescription": "", - "Stop": false, - "SubmitTime": 1763227820495039263, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": null, - "Count": 1, - "Disconnect": null, - "EphemeralDisk": { - "Migrate": false, - "SizeMB": 300, - "Sticky": false - }, - "MaxClientDisconnect": null, - "Meta": null, - "Migrate": null, - "Name": "traefik", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "traefik", - "To": 80, - "Value": 80 - }, - { - "HostNetwork": "default", - "Label": "traefikui", - "To": 8080, - "Value": 8090 - }, - { - "HostNetwork": "default", - "Label": "traefikhttps", - "To": 443, - "Value": 443 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": null, - "RestartPolicy": { - "Attempts": 6, - "Delay": 10000000000, - "Interval": 60000000000, - "Mode": "delay", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "dns_servers": [ - "192.168.1.1", - "192.168.1.250" - ], - "ports": [ - "traefik", - "traefikhttps", - "traefikui" - ], - "memory_hard_limit": 2048.0, - "image": "traefik:2.9", - "args": [ - "--configFile=/local/file.yml", - "--accesslog=true" - ], - "volumes": [ - "/var/run/docker.sock:/var/run/docker.sock", - "/mnt/mnt/configs/letsencrypt:/acmecert/" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "DUCKDNS_TOKEN": "e4b5ca33-1f4d-494b-b06d-6dd4600df662", - "TZ": "EST5EDT", - "PUID": "1000", - "PGID": "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": "traefik", - "Resources": { - "CPU": 256, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 6, - "Delay": 10000000000, - "Interval": 60000000000, - "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": "traefik", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "traefik", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "global", - "traefik", - "enable_gocast", - "gocast_vip=192.168.1.249/32", - "gocast_nat=tcp:443:443", - "gocast_nat=udp:443:443" - ], - "TaskName": "traefik", - "Weights": null - }, - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": null, - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "traefik-ui", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "traefik", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "global", - "traefik", - "traefik.http.routers.dashboard.rule=Host(`traefik-ui.service.dc1.consul`)", - "traefik.http.routers.dashboard.service=api@internal" - ], - "TaskName": "traefik", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": [ - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/file.yml", - "EmbeddedTmpl": "http:\n serversTransports:\n insecureSkipVerify: true\n\nentryPoints:\n web:\n address: :80\n websecure:\n address: :443\n\nlog:\n level: DEBUG\n\nmetrics:\n prometheus:\n addRoutersLabels: true\n addServicesLabels: true\n\napi:\n dashboard: true\n insecure: true\n\nproviders:\n consulCatalog:\n exposedByDefault: true\n refreshInterval: 30s\n defaultRule: \"Host(`{{ .Name }}.service.dc1.consul`)\"\n endpoint:\n address: \"[[env \"attr.unique.network.ip-address\"]]:8500\"\n file:\n filename: /local/tls.yml\n\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "[[", - "Once": false, - "Perms": "0644", - "RightDelim": "]]", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/tls.yml", - "EmbeddedTmpl": "tls:\n certificates:\n - certFile: /local/duckdns_fullchain.pem\n keyFile: /local/duckdns_privkey.pem\n - certFile: /local/dedyn_fullchain.pem\n keyFile: /local/dedyn_privkey.pem\n stores:\n default:\n defaultCertificate:\n certFile: /local/duckdns_fullchain.pem\n keyFile: /local/duckdns_privkey.pem\n\n", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "0644", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/duckdns_fullchain.pem", - "EmbeddedTmpl": "{{ key \"letsconsul/*.fbleagh.duckdns.org/fullchain.cer\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "noop", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/duckdns_privkey.pem", - "EmbeddedTmpl": "{{ key \"letsconsul/*.fbleagh.duckdns.org/*.fbleagh.duckdns.org.key\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "restart", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/dedyn_fullchain.pem", - "EmbeddedTmpl": "{{ key \"letsconsul/*.fbleagh.dedyn.io/fullchain.cer\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - }, - { - "ChangeMode": "noop", - "ChangeScript": null, - "ChangeSignal": "", - "DestPath": "local/dedyn_privkey.pem", - "EmbeddedTmpl": "{{ key \"letsconsul/*.fbleagh.dedyn.io/*.fbleagh.dedyn.io.key\" }}", - "Envvars": false, - "ErrMissingKey": false, - "Gid": null, - "LeftDelim": "{{", - "Once": false, - "Perms": "777", - "RightDelim": "}}", - "SourcePath": "", - "Splay": 5000000000, - "Uid": null, - "VaultGrace": 0, - "Wait": null - } - ], - "User": "", - "Vault": null, - "VolumeMounts": null - } - ], - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "checks", - "HealthyDeadline": 300000000000, - "MaxParallel": 1, - "MinHealthyTime": 10000000000, - "ProgressDeadline": 600000000000, - "Stagger": 10000000000 - }, - "Volumes": null - } - ], - "Type": "system", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 10000000000 - }, - "VaultNamespace": "", - "Version": 7, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/trilium.json b/nomad_backup/20251115_141532/trilium.json deleted file mode 100644 index a1ea095..0000000 --- a/nomad_backup/20251115_141532/trilium.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 14152854, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "trilium", - "JobModifyIndex": 14153433, - "Meta": null, - "ModifyIndex": 14153445, - "Multiregion": null, - "Name": "trilium", - "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": 1761948663361166597, - "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": "trilium", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 8080, - "Value": 6699 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/configs/trilium:/data" - ], - "image": "litestream/litestream:latest", - "args": [ - "restore", - "-if-replica-exists", - "-if-db-not-exists", - "-o", - "/alloc/tmp/trilium.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/trilium.db" - ] - }, - "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": "restore", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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/configs/trilium:/home/node/trilium-data/data", - "/mnt/Public/configs/trilium/backup:/home/node/trilium-data/backup", - "/mnt/Public/configs/trilium/config:/home/node/trilium-data/config" - ], - "image": "triliumnext/trilium:stable", - "memory_hard_limit": "2048", - "ports": [ - "http" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "TRILIUM_DATA_DIR": "/home/node/trilium-data/data", - "TRILIUM_BACKUP_DIR": "/home/node/trilium-data/backup", - "TRILIUM_CONFIG_INI_PATH": "/home/node/trilium-data/config/config.ini" - }, - "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": "trilium", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"trilium\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "trilium", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": null, - "Name": "trilium", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "trilium", - "web", - "urlprefix-/trilium", - "tools", - "traefik.http.routers.triliumlan.rule=Host(`trilium.service.dc1.consul`)", - "traefik.http.routers.triliumwan.rule=Host(`tril.fbleagh.duckdns.org`)", - "traefik.http.routers.triliumwan.middlewares=dex@consulcatalog", - "traefik.http.routers.triliumwan.tls=true" - ], - "TaskName": "trilium", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/configs/trilium:/data" - ], - "image": "litestream/litestream:latest", - "args": [ - "replicate", - "/alloc/tmp/trilium.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/trilium.db" - ] - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "litestream", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 300, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 14, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/vaultwarden.json b/nomad_backup/20251115_141532/vaultwarden.json deleted file mode 100644 index ff24528..0000000 --- a/nomad_backup/20251115_141532/vaultwarden.json +++ /dev/null @@ -1,542 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.kernel.name}", - "Operand": "=", - "RTarget": "linux" - }, - { - "LTarget": "${attr.cpu.arch}", - "Operand": "regexp", - "RTarget": "arm64" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13569506, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "vaultwarden", - "JobModifyIndex": 13570343, - "Meta": null, - "ModifyIndex": 13991135, - "Multiregion": null, - "Name": "vaultwarden", - "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": 1738335274858544947, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "vaultwarden", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 80, - "Value": 8081 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "image": "vaultwarden/server:1.32.7", - "memory_hard_limit": 2048.0, - "ports": [ - "http" - ], - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}/data:/data" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "ADMIN_TOKEN": "VReYRX0RuSw3mxmGFG4+2ECY71l/wYmuD52NOWDur6e43z/inbUmJGUr5KU4wtjW", - "DATABASE_URL": "postgresql://postgres:postgres@master.postgres.service.dc1.consul:5432/vaultwarden", - "ENABLE_DB_WAL": "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": "vaultwarden", - "Resources": { - "CPU": 100, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 128, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "ScalingPolicies": null, - "Schedule": null, - "Services": [ - { - "Address": "", - "AddressMode": "auto", - "CanaryMeta": null, - "CanaryTags": null, - "Checks": [ - { - "AddressMode": "", - "Args": null, - "Body": "", - "CheckRestart": null, - "Command": "", - "Expose": false, - "FailuresBeforeCritical": 0, - "FailuresBeforeWarning": 0, - "GRPCService": "", - "GRPCUseTLS": false, - "Header": null, - "InitialStatus": "", - "Interval": 10000000000, - "Method": "", - "Name": "service: \"vaultwarden\" check", - "Notes": "", - "OnUpdate": "require_healthy", - "Path": "", - "PortLabel": "", - "Protocol": "", - "SuccessBeforePassing": 0, - "TLSServerName": "", - "TLSSkipVerify": false, - "TaskName": "vaultwarden", - "Timeout": 2000000000, - "Type": "tcp" - } - ], - "Cluster": "default", - "Connect": null, - "EnableTagOverride": false, - "Identity": null, - "Meta": { - "ALLOC": "${NOMAD_ALLOC_ID}" - }, - "Name": "vaultwarden", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "vaultwarden", - "web", - "urlprefix-/vaultwarden", - "backend", - "traefik.http.routers.vaultwardenlan.rule=Host(`vaultwarden.service.dc1.consul`)", - "traefik.http.routers.vaultwardenwan.rule=Host(`vault.fbleagh.duckdns.org`)", - "traefik.http.routers.vaultwardenwan-admin.rule=(Host(`vault.fbleagh.duckdns.org`) && PathPrefix(`/admin/`))", - "traefik.http.routers.vaultwardenwan.tls=true", - "traefik.http.middlewares.vaultwardenwan-admin-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32, 192.168.4.0/22", - "traefik.http.routers.nginx-admin.middlewares=vaultwardenwan-admin-ipwhitelist", - "enable_gocast", - "gocast_vip=192.168.1.246/32", - "gocast_nat=tcp:8081:8081", - "gocast_nat=udp:8081:8081" - ], - "TaskName": "vaultwarden", - "Weights": null - } - ], - "ShutdownDelay": 0, - "Templates": null, - "User": "", - "Vault": null, - "VolumeMounts": null - }, - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "args": [ - "flock", - "-x", - "/locks/${NOMAD_GROUP_NAME}_rsync.lock", - "rsync", - "-avz", - "--exclude='logs'", - "--exclude='/run/*.sock'", - "/configbackup/", - "/config/", - "--delete-before" - ], - "image": "ghcr.io/sstent/rsync", - "memory_hard_limit": 2048.0, - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}/data:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - "/mnt/Public/config/locks:/locks" - ] - }, - "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": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": { - "args": [ - "flock", - "-x", - "/locks/${NOMAD_GROUP_NAME}_rsync.lock", - "rsync", - "-av", - "--exclude='logs'", - "--exclude='/run/*.sock'", - "/config/", - "/configbackup/", - "--remove-source-files" - ], - "image": "ghcr.io/sstent/rsync", - "memory_hard_limit": 2048.0, - "volumes": [ - "/mnt/configs/${NOMAD_GROUP_NAME}/data:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - "/mnt/Public/config/locks:/locks" - ] - }, - "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": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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}/data:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup" - ], - "args": [ - "client" - ], - "image": "ghcr.io/sstent/rsync" - }, - "Constraints": null, - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "CRON_TASK_1": "50 * * * * rsync -av --exclude='*.db' --exclude='*.db' --exclude='.*.db-litestream' --exclude='generations' /config/ /configbackup/;" - }, - "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": "poststart", - "Sidecar": true - }, - "LogConfig": { - "Disabled": false, - "MaxFileSizeMB": 10, - "MaxFiles": 10 - }, - "Meta": null, - "Name": "sync", - "Resources": { - "CPU": 20, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 20, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 5, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/wallabag.json b/nomad_backup/20251115_141532/wallabag.json deleted file mode 100644 index 5005bd0..0000000 --- a/nomad_backup/20251115_141532/wallabag.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": null, - "ConsulNamespace": "", - "CreateIndex": 13721718, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "wallabag", - "JobModifyIndex": 13721718, - "Meta": null, - "ModifyIndex": 13990957, - "Multiregion": null, - "Name": "wallabag", - "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": 1745512053324129511, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "wallabag", - "Networks": [ - { - "DynamicPorts": [ - { - "HostNetwork": "default", - "Label": "http", - "To": 80 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": 2048.0, - "ports": [ - "http" - ], - "image": "wallabag/wallabag:latest" - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "SYMFONY__ENV__DATABASE_NAME": "wallabag", - "SYMFONY__ENV__DOMAIN_NAME": "https://wallabag.fbleagh.duckdns.org", - "SYMFONY__ENV__DATABASE_PASSWORD": "wallabag", - "SYMFONY__ENV__MAILER_DSN": "gmail+smtp://stuart.stent@gmail.com:lsrhrzfembksmvgc@default", - "SYMFONY__ENV__FROM_EMAIL": "wallabag@wallabag.fbleagh.duckdns.org", - "SYMFONY__ENV__DATABASE_DRIVER": "pdo_pgsql", - "POSTGRES_PASSWORD": "postgres", - "SYMFONY__ENV__DATABASE_PORT": "5432", - "POPULATE_DATABASE": "False", - "SYMFONY__ENV__DATABASE_HOST": "master.postgres.service.dc1.consul", - "POSTGRES_USER": "postgres", - "SYMFONY__ENV__DATABASE_USER": "wallabag" - }, - "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": "wallabag", - "Resources": { - "CPU": 500, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 256, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": "wallabag", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "http", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": [ - "wallabag", - "tools", - "traefik.http.routers.wallabaglan.rule=Host(`wallabag.service.dc1.consul`)", - "traefik.http.routers.wallabagwan.rule=Host(`wallabag.fbleagh.duckdns.org`)", - "traefik.http.routers.wallabagwan.tls=true", - "traefik.http.middlewares.vaultwardenwan-admin-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32, 192.168.1.0/24", - "traefik.http.routers.nginx-admin.middlewares=vaultwardenwan-admin-ipwhitelist" - ], - "TaskName": "wallabag", - "Weights": 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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 0, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_141532/wireguard.json b/nomad_backup/20251115_141532/wireguard.json deleted file mode 100644 index bc3a6f1..0000000 --- a/nomad_backup/20251115_141532/wireguard.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "Affinities": null, - "AllAtOnce": false, - "Constraints": [ - { - "LTarget": "${attr.cpu.arch}", - "Operand": "regexp", - "RTarget": "amd64" - } - ], - "ConsulNamespace": "", - "CreateIndex": 13571990, - "Datacenters": [ - "dc1" - ], - "DispatchIdempotencyToken": "", - "Dispatched": false, - "ID": "wireguard", - "JobModifyIndex": 13892530, - "Meta": null, - "ModifyIndex": 14202927, - "Multiregion": null, - "Name": "wireguard", - "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": 1753800396765131865, - "TaskGroups": [ - { - "Affinities": null, - "Constraints": null, - "Consul": { - "Cluster": "default", - "Namespace": "", - "Partition": "" - }, - "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": "wireguard", - "Networks": [ - { - "ReservedPorts": [ - { - "HostNetwork": "default", - "Label": "vpn", - "To": 51820, - "Value": 51820 - }, - { - "HostNetwork": "default", - "Label": "vpn_ui", - "To": 51821, - "Value": 51821 - } - ] - } - ], - "PreventRescheduleOnLost": false, - "ReschedulePolicy": { - "Attempts": 0, - "Delay": 30000000000, - "DelayFunction": "exponential", - "Interval": 0, - "MaxDelay": 3600000000000, - "Unlimited": true - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "RenderTemplates": false - }, - "Scaling": null, - "Services": null, - "ShutdownDelay": null, - "Spreads": null, - "StopAfterClientDisconnect": null, - "Tasks": [ - { - "Actions": null, - "Affinities": null, - "Artifacts": null, - "CSIPluginConfig": null, - "Config": { - "volumes": [ - "/mnt/Public/config/wireguard:/etc/wireguard" - ], - "cap_add": [ - "NET_ADMIN", - "SYS_MODULE" - ], - "sysctl": [ - { - "net.ipv4.conf.all.src_valid_mark": "1", - "net.ipv4.ip_forward": "1" - } - ], - "image": "ghcr.io/wg-easy/wg-easy", - "ports": [ - "vpn", - "vpn_ui" - ] - }, - "Constraints": [ - { - "LTarget": "${attr.consul.version}", - "Operand": "semver", - "RTarget": ">= 1.8.0" - } - ], - "Consul": null, - "DispatchPayload": null, - "Driver": "docker", - "Env": { - "UI_CHART_TYPE": "1", - "WG_PORT": "51820", - "UI_TRAFFIC_STATS": "true", - "WEBUI_HOST": "0.0.0.0", - "PGID": "1000", - "WG_ALLOWED_IPS": "0.0.0.0/0", - "PORT": "51821", - "WG_DEFAULT_DNS": "192.168.4.36, 8.8.8.8", - "PUID": "1000", - "WG_HOST": "wireguard.fbleagh.duckdns.org", - "TZ": "EST5EDT" - }, - "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": "wireguard", - "Resources": { - "CPU": 50, - "Cores": 0, - "Devices": null, - "DiskMB": 0, - "IOPS": 0, - "MemoryMB": 100, - "MemoryMaxMB": 0, - "NUMA": null, - "Networks": null, - "SecretsMB": 0 - }, - "RestartPolicy": { - "Attempts": 2, - "Delay": 15000000000, - "Interval": 1800000000000, - "Mode": "fail", - "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": "wireguard", - "Namespace": "default", - "OnUpdate": "require_healthy", - "PortLabel": "vpn", - "Provider": "consul", - "TaggedAddresses": null, - "Tags": null, - "TaskName": "wireguard", - "Weights": 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": 30000000000 - }, - "Volumes": null - } - ], - "Type": "service", - "UI": null, - "Update": { - "AutoPromote": false, - "AutoRevert": false, - "Canary": 0, - "HealthCheck": "", - "HealthyDeadline": 0, - "MaxParallel": 1, - "MinHealthyTime": 0, - "ProgressDeadline": 0, - "Stagger": 30000000000 - }, - "VaultNamespace": "", - "Version": 6, - "VersionTag": null -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/acme.json b/nomad_backup/20251115_142246/acme.json deleted file mode 100644 index 74f1aba..0000000 --- a/nomad_backup/20251115_142246/acme.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "acme", - "JobModifyIndex": 13570366, - "Namespace": "default", - "Source": "job \"acme\" {\n datacenters = [\"dc1\"]\n type = \"batch\"\n\n periodic {\n cron = \"@weekly\"\n prohibit_overlap = true\n }\n\n group \"acme\" {\n restart {\n attempts = 1\n delay = \"30s\"\n } \n task \"acme\" {\n driver = \"docker\"\n\n config {\n image = \"neilpang/acme.sh\"\n entrypoint = [\"/local/acme_wrapper.sh\"]\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/acme.sh\",\n ]\n }\n env {\n DEDYN_TOKEN=\"JPwQpUiWGkKHSkmGEC4YAeGiGFki\" \n DuckDNS_Token=\"e4b5ca33-1f4d-494b-b06d-6dd4600df662\" \n CONSUL_URL=\"${attr.unique.network.ip-address}\"\n\n }\n\n template {\n change_mode = \"noop\"\n data = \"{{ key \\\"scripts/acme.sh\\\" }}\"\n destination = \"local/acme_wrapper.sh\"\n perms = 0777\n }\n\n\n\n resources {\n cpu = 256\n memory = 64\n }\n }\n\n task \"init\" {\n driver = \"docker\"\n\n lifecycle {\n hook = \"prestart\"\n sidecar = false\n }\n\n config {\n image = \"ghcr.io/sstent/rsync\"\n memory_hard_limit = 2048\n\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\",\n ]\n\n args = [\"flock\", \"-x\", \"/locks/${NOMAD_GROUP_NAME}_rsync.lock\", \"rsync\", \"-avz\",\"--delete-excluded\",\"--exclude=renewal\",\"--exclude='live'\",\"--exclude='archive'\",\"--exclude='keys'\",\"--exclude='csr'\", \"/configbackup/\", \"/config/\", \"--delete-before\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n } #end init task\n\n task \"finalsync\" {\n driver = \"docker\"\n\n lifecycle {\n hook = \"poststop\"\n }\n\n config {\n // image = \"pebalk/rsync\"\n image = \"ghcr.io/sstent/rsync\"\n memory_hard_limit = 2048\n\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\",\n ]\n\n args = [\"flock\", \"-x\", \"/locks/${NOMAD_GROUP_NAME}_rsync.lock\", \"rsync\", \"-av\",\"--delete-excluded\",\"--exclude=renewal\",\"--exclude='live'\",\"--exclude='archive'\",\"--exclude='keys'\",\"--exclude='csr'\", \"/config/\", \"/configbackup/\",\"--remove-source-files\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n } #end finalsync task\n }\n}", - "VariableFlags": null, - "Variables": "", - "Version": 0 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/auth.json b/nomad_backup/20251115_142246/auth.json deleted file mode 100644 index 98f165b..0000000 --- a/nomad_backup/20251115_142246/auth.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "auth", - "JobModifyIndex": 13770263, - "Namespace": "default", - "Source": "job \"auth\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n constraint {\n attribute = \"${attr.kernel.name}\"\n value = \"linux\"\n }\n\n constraint {\n attribute = \"${attr.unique.hostname}\"\n operator = \"regexp\"\n value = \"odroid.*\"\n }\n group \"auth\" {\n count = 1\n\n task \"fwdauth\" {\n driver = \"docker\"\n\n config {\n // image = \"npawelek/traefik-forward-auth\"\n image = \"thomseddon/traefik-forward-auth:2-arm\"\n\n port_map {\n auth = 4181\n }\n\n volumes = [\n \"/etc/localtime:/etc/localtime:ro\",\n ]\n }\n\n env {\n PROVIDERS_GOOGLE_CLIENT_ID = \"807888907647-uog95jmiolsuh6ql1t8jm53l1jvuajck.apps.googleusercontent.com\"\n PROVIDERS_GOOGLE_CLIENT_SECRET = \"B8bDri5mFvGv-Ghzbt8fLj4W\"\n SECRET = \"ladskfdjmqwermnnbasfnmldas\"\n CONFIG = \"/local/config.ini\"\n LIFETIME = \"31536000\"\n WHITELIST = \"stuart.stent@gmail.com,stephen.bunt@gmail.com\"\n\n // AUTH_HOST = \"fwdauth.fbleagh.duckdns.org\"\n COOKIE_DOMAIN = \"fbleagh.duckdns.org\"\n }\n\n template {\n data = \"{{ key \\\"Dex\\\" }}\"\n destination = \"local/config.ini\"\n change_mode = \"restart\"\n }\n\n resources {\n cpu = 100 # 100 MHz\n memory = 64 # 128 MB\n\n network {\n port \"auth\" {\n static = 4181\n }\n }\n }\n\n service {\n name = \"dex\"\n\n tags = [\n \"fwdauth\",\n \"web\",\n \"traefik.http.routers.dex.rule=Host(`fwdauth.fbleagh.duckdns.org`,`fwdauth.fbleagh.dedyn.io`)\",\n \"traefik.http.routers.dex.entrypoints=websecure\",\n \"traefik.http.routers.dex.tls=true\",\n // \"traefik.http.routers.dex.tls.certresolver=myresolver\",\n \"traefik.http.middlewares.dex.forwardauth.address=http://dex.service.dc1.consul:4181\",\n \"traefik.http.middlewares.dex.forwardauth.trustForwardHeader=true\",\n \"traefik.http.middlewares.dex.forwardauth.authResponseHeaders=X-Forwarded-User\",\n \"traefik.http.routers.auth.middlewares=dex\",\n \"traefik.http.routers.traefik-forward-auth.middlewares=dex\",\n ]\n\n port = \"auth\"\n\n check {\n type = \"tcp\"\n interval = \"10s\"\n timeout = \"2s\"\n }\n }\n } #end Dex\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 2 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/calendar-proxy.json b/nomad_backup/20251115_142246/calendar-proxy.json deleted file mode 100644 index 7afeda8..0000000 --- a/nomad_backup/20251115_142246/calendar-proxy.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "calendar-proxy", - "JobModifyIndex": 13940997, - "Namespace": "default", - "Source": "job \"calendar-proxy\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n \n group \"web\" {\n count = 1\n \n network {\n port \"http\" {\n to = 80\n }\n }\n \n service {\n name = \"calendar-proxy\"\n port = \"http\"\n \n tags = [\n \"traefik.enable=true\",\n \"traefik.http.routers.calendar-proxy.rule=Host(`mail.fbleagh.duckdns.org`)\",\n \"traefik.http.routers.calendar-proxy.entrypoints=web\",\n ]\n \n check {\n type = \"http\"\n path = \"/health\"\n interval = \"10s\"\n timeout = \"3s\"\n }\n }\n \n # Nginx container\n task \"nginx\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = true\n }\n\n config {\n image = \"nginx:alpine\"\n ports = [\"http\"]\n \n volumes = [\n \"local/nginx.conf:/etc/nginx/nginx.conf\",\n \"local/app:/var/www/html\",\n ]\n }\n \n template {\n data = < [\n \"header\" => \"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\",\n ]\n]);\nif (($data = @file_get_contents($url, false, $context)) === false) {\n $error = error_get_last();\n http_response_code(500);\n print \"HTTP request failed: \" . $error['message'];\n exit;\n}\nheader('Content-Type: text/calendar; charset=utf-8');\nprint $data;\n?>\nEOF\n destination = \"local/app/ics.php\"\n }\n\n \n resources {\n cpu = 100\n memory = 128\n }\n }\n \n # PHP-FPM container\n task \"php-fpm\" {\n driver = \"docker\"\n \n config {\n image = \"php:8.2-fpm-alpine\"\n network_mode = \"container:nginx-${NOMAD_ALLOC_ID}\"\n \n volumes = [\n \"local/app:/var/www/html\",\n \"local/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf\",\n ]\n }\n \n template {\n data = < [\n \"header\" => \"User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\",\n ]\n]);\nif (($data = @file_get_contents($url, false, $context)) === false) {\n $error = error_get_last();\n http_response_code(500);\n print \"HTTP request failed: \" . $error['message'];\n exit;\n}\nheader('Content-Type: text/calendar; charset=utf-8');\nprint $data;\n?>\nEOF\n destination = \"local/app/ics.php\"\n }\n\n resources {\n cpu = 200\n memory = 256\n }\n }\n \n # Restart policy\n restart {\n attempts = 3\n interval = \"5m\"\n delay = \"25s\"\n mode = \"fail\"\n }\n \n # Update strategy\n update {\n max_parallel = 1\n min_healthy_time = \"10s\"\n healthy_deadline = \"3m\"\n auto_revert = true\n }\n }\n}", - "VariableFlags": null, - "Variables": "", - "Version": 7 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/democratic-csi-local.json b/nomad_backup/20251115_142246/democratic-csi-local.json deleted file mode 100644 index 3206093..0000000 --- a/nomad_backup/20251115_142246/democratic-csi-local.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "democratic-csi-local", - "JobModifyIndex": 13925215, - "Namespace": "default", - "Source": "job \"democratic-csi-local\" {\n datacenters = [\"dc1\"]\n type = \"system\"\n\n group \"controller\" {\n count = 1\n\n task \"controller\" {\n driver = \"docker\"\n\n config {\n image = \"democraticcsi/democratic-csi:latest\"\n \n args = [\n \"--csi-version=1.5.0\",\n \"--csi-name=org.democratic-csi.local-hostpath\", \n \"--driver-config-file=/config/driver-config-file.yaml\",\n \"--log-level=info\",\n \"--csi-mode=controller\",\n \"--server-socket=/csi/csi.sock\",\n ]\n\n volumes = [\n \"local/config:/config:ro\"\n ]\n }\n\n template {\n data = <<-EOH\ndriver: local-hostpath\ninstance_id: {{ env \"node.unique.id\" }}\nlocal-hostpath:\n shareBasePath: \"/tmp/democratic-csi-local-hostpath\"\n controllerBasePath: \"/tmp/democratic-csi-local-hostpath\"\n dirPermissionsMode: \"0755\"\n dirPermissionsUser: 0\n dirPermissionsGroup: 0\nEOH\n destination = \"local/config/driver-config-file.yaml\"\n }\n\n csi_plugin {\n id = \"org.democratic-csi.local-hostpath\"\n type = \"controller\"\n mount_dir = \"/csi\"\n }\n\n resources {\n cpu = 256\n memory = 128\n }\n }\n }\n\n group \"nodes\" {\n task \"node\" {\n driver = \"docker\"\n\n config {\n image = \"democraticcsi/democratic-csi:latest\"\n \n args = [\n \"--csi-version=1.5.0\",\n \"--csi-name=org.democratic-csi.local-hostpath\",\n \"--driver-config-file=/config/driver-config-file.yaml\", \n \"--log-level=info\",\n \"--csi-mode=node\",\n \"--server-socket=/csi/csi.sock\",\n ]\n\n privileged = true\n \n volumes = [\n \"local/config:/config:ro\",\n \"/tmp/democratic-csi-local-hostpath:/tmp/democratic-csi-local-hostpath:rshared\"\n ]\n }\n\n template {\n data = <<-EOH\ndriver: local-hostpath\ninstance_id: {{ env \"node.unique.id\" }}\nlocal-hostpath:\n shareBasePath: \"/tmp/democratic-csi-local-hostpath\"\n controllerBasePath: \"/tmp/democratic-csi-local-hostpath\"\n dirPermissionsMode: \"0755\"\n dirPermissionsUser: 0\n dirPermissionsGroup: 0\nEOH\n destination = \"local/config/driver-config-file.yaml\"\n }\n\n csi_plugin {\n id = \"org.democratic-csi.local-hostpath\"\n type = \"node\"\n mount_dir = \"/csi\"\n }\n\n resources {\n cpu = 256\n memory = 128\n }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 1 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/foodplanner.json b/nomad_backup/20251115_142246/foodplanner.json deleted file mode 100644 index f8b0598..0000000 --- a/nomad_backup/20251115_142246/foodplanner.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "foodplanner", - "JobModifyIndex": 14064853, - "Namespace": "default", - "Source": "job \"foodplanner\" {\n datacenters = [\"dc1\"]\n\n type = \"service\"\n\n group \"app\" {\n count = 1\n\n network {\n port \"http\" {\n to = 8999\n }\n }\n\n service {\n name = \"foodplanner\"\n port = \"http\"\n\n check {\n type = \"http\"\n path = \"/\"\n interval = \"10s\"\n timeout = \"2s\"\n }\n }\n\n # Prestart restore task\n task \"restore\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = false\n }\n config {\n # image = \"litestream/litestream:latest\"\n image = \"litestream/litestream:0.3\"\n args = [\n \"restore\",\n # \"-if-replica-exists\",\n #\"-if-db-not-exists\",\n \"-o\", \"/alloc/tmp/meal_planner.db\",\n \"sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db\"\n ]\n volumes = [\n \"/opt/nomad/data:/data\"\n ]\n }\n }\n\n task \"app\" {\n driver = \"docker\"\n\n config {\n image = \"ghcr.io/sstent/foodplanner:main\"\n ports = [\"http\"]\n\n # Mount the SQLite database file to persist data\n # Adjust the source path as needed for your environment\n volumes = [\n \"/mnt/Public/configs/FoodPlanner_backups:/app/backups/\",\n ]\n }\n env {\n DATABASE_PATH = \"/alloc/tmp\"\n DATABASE_URL = \"sqlite:////alloc/tmp/meal_planner.db\"\n }\n resources {\n cpu = 500\n memory = 1024\n }\n\n # Restart policy\n restart {\n attempts = 3\n interval = \"10m\"\n delay = \"15s\"\n mode = \"fail\"\n }\n }\n\n # Litestream sidecar for continuous replication\n task \"litestream\" {\n driver = \"docker\"\n lifecycle {\n hook = \"poststart\" # runs after main task starts\n sidecar = true\n }\n config {\n # image = \"litestream/litestream:0.5.0-test.10\"\n image = \"litestream/litestream:0.3\"\n args = [\n \"replicate\",\n \"/alloc/tmp/meal_planner.db\",\n \"sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db\"\n ]\n }\n }\n }\n}", - "VariableFlags": null, - "Variables": "", - "Version": 0 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/gonic.json b/nomad_backup/20251115_142246/gonic.json deleted file mode 100644 index bed9cd0..0000000 --- a/nomad_backup/20251115_142246/gonic.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "gonic", - "JobModifyIndex": 13923644, - "Namespace": "default", - "Source": "job \"gonic\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n\n\n\n group \"gonic\" {\n count = 1\n task \"gonic\" {\n driver = \"docker\"\n config {\n image = \"sentriz/gonic\"\n port_map {\n http = 80\n }\n volumes = [\n \"/mnt/configs/gonic/data:/data\",\n \"/mnt/configs/gonic/cache:/cache\",\n \"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro\",\n \"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro\",\n \"/mnt/Public/Downloads/podcasts:/podcasts\",\n \"/mnt/Public/Downloads/musicplaylists:/musicplaylists\",\n\n ]\n }\n env{\n GONIC_SCAN_INTERVAL = \"120\"\n GONIC_MUSIC_PATH = \"/music\"\n GONIC_PODCAST_PATH = \"/podcasts\"\n GONIC_PLAYLISTS_PATH = \"/musicplaylists\"\n }\n resources {\n cpu = 100 # 100 MHz\n memory = 256 # 128 MB\n network {\n port \"http\" {\n static = \"4747\"\n }\n }\n }\n service {\n name = \"gonic\"\n tags = [ \n \"gonic\",\n \"web\",\n \"urlprefix-/gonic\",\n \"backend\",\n \"traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)\",\n \"traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)\",\n \"traefik.http.routers.gonicwan.tls=true\",\n \"traefik.http.routers.gonicwan.tls.certresolver=myresolver\"\n \n ]\n // \"traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm\",\n port = \"http\"\n meta {\n ALLOC = \"${NOMAD_ALLOC_ID}\"\n }\n check {\n type = \"tcp\"\n interval = \"10s\"\n timeout = \"2s\"\n }\n }\n } #end gonic\n\n task \"init-manual\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = false\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\" \n ]\n\n args = [\"flock\", \"-x\",\"/locks/${NOMAD_GROUP_NAME}_rsync.lock\",\"rsync\",\"-av\",\"--exclude=Backups\",\"/configbackup/\",\"/config/\",\"--delete-before\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n }\n\n\n task \"finalsync-manual\" {\n driver = \"docker\"\n lifecycle {\n hook = \"poststop\"\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\" \n ]\n\n args = [\"flock\", \"-x\",\"/locks/${NOMAD_GROUP_NAME}_rsync.lock\",\"rsync\",\"-av\",\"/config/\",\"/configbackup/\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n }\n\n task \"db-sync\" {\n driver = \"docker\"\n lifecycle {\n hook = \"poststart\"\n sidecar = true\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\", \n ]\n \n // args = [\"/usr/local/bin/litestream\", \"replicate\", \"-config\",\"/local/litestream.yml\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n template {\n data = <Local Services - HTTP/HTTPS

\n \n \n \n \n \n \n {{range services}}\n {{range $i, $s :=service .Name}}\n {{ if eq $i 0 }}\n\n\n \n \n \n \n {{end}}\n {{end}}\n {{end}}\n
Service NameTraefikDirect
{{.Name}}{{.Name}}.service.dc1.consul{{ if eq .Name \"unifi\" }}https{{else}}http{{end}}://{{.Name}}.service.dc1.consul:{{.Port}}
\n

\n Node Environment Information:
\n node_id: {{ env \"node.unique.id\" }}
\n datacenter: {{ env \"NOMAD_DC\" }}\n

\n EOH\n\n destination = \"local/data/index.html\"\n change_mode = \"noop\"\n }\n\n resources {\n cpu = 100 # 100 MHz\n memory = 64 # 128 MB\n }\n service {\n name = \"nginx\"\n tags = [\"nginx\", \"web\", \"urlprefix-/nginx\", \"backend\"]\n port = \"http\"\n\n check {\n type = \"tcp\"\n interval = \"10s\"\n timeout = \"2s\"\n }\n }\n }\n\n network {\n port \"http\" {\n to = 8080\n }\n\n // port \"https\" {\n // to = 443\n // }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 0 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/nzbget.json b/nomad_backup/20251115_142246/nzbget.json deleted file mode 100644 index 86a411f..0000000 --- a/nomad_backup/20251115_142246/nzbget.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "nzbget", - "JobModifyIndex": 14132455, - "Namespace": "default", - "Source": "job \"nzbget\" {\n # region = \"global\"\n datacenters = [\"dc1\"]\n type = \"service\"\n\n # priority = 50\n\n constraint {\n attribute = \"${attr.kernel.name}\"\n value = \"linux\"\n }\n constraint {\n attribute = \"${attr.unique.hostname}\"\n operator = \"regexp\"\n value = \"odroid.*\"\n }\n update {\n # Stagger updates every 60 seconds\n stagger = \"90s\"\n max_parallel = 1\n healthy_deadline = \"5m\"\n }\n group \"nzbget\" {\n count = 1\n\n restart {\n attempts = 8\n interval = \"20m\"\n delay = \"10s\"\n mode = \"delay\"\n }\n\n // task \"init-trigger\" {\n // driver = \"docker\"\n\n // lifecycle {\n // hook = \"prestart\"\n // }\n\n // config {\n // image = \"curlimages/curl\"\n // args = [\"--request\", \"PUT\", \"--data\", \"${NOMAD_ALLOC_ID}\", \"http://${attr.unique.network.ip-address}:8500/v1/kv/${NOMAD_GROUP_NAME}\"]\n // }\n // resources {\n // cpu = 20 # 500 MHz\n // memory = 20 # 128MB\n // }\n // }\n\n\n task \"ovpn-client\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = true\n }\n\n config {\n // image = \"registry.service.dc1.consul:5000/openpyn:latest\"\n image = \"qmcgaw/gluetun\"\n memory_hard_limit = \"1024\"\n\n ports = [\n \"shadowsocks\",\n \"nzbget\",\n \"http_proxy\",\n \"http_admin\",\n \"sabnzb_admin\",\n \"socks\",\n ]\n\n cap_add = [\n \"NET_ADMIN\",\n \"NET_BIND_SERVICE\",\n ]\n\n #network_mode = \"host\"\n #network_mode = \"vpn\"\n\n volumes = [\n \"/etc/localtime:/etc/localtime\",\n ]\n devices = [\n {\n host_path = \"/dev/net/tun\"\n container_path = \"/dev/net/tun\"\n },\n ]\n }\n\n env {\n // VPNFLAGS = \"us --max-load 70 --top-servers 10 --pings 5\"\n // VPNFLAGS = \"nl --max-load 70 --top-servers 10 --pings 5\"\n // VPNSP = \"nordvpn\"\n // OPENVPN_USER = \"yvPLaZ3xkXtnJKsyXDNQf9Ft\"\n // OPENVPN_PASSWORD = \"SW8XvhGkSVuQitjuFrbH9WPA\"\n // REGION = \"Netherlands\"\n ##Mullvad\n VPNSP = \"mullvad\"\n VPN_TYPE = \"wireguard\"\n COUNTRY = \"Canada\"\n CITY = \"Toronto\"\n FIREWALL_VPN_INPUT_PORTS = \"56987\"\n WIREGUARD_PRIVATE_KEY = \"2FHwQX1jxk+qeMmXUtSGRc2kKF1WHeSCyIgHNW+7akA=\" #ActiveLynx\n WIREGUARD_ADDRESS = \"10.66.246.4/32\"\n \n \n \n HTTPPROXY = \"on\"\n UPDATER_PERIOD= \"24h\"\n SHADOWSOCKS_PASSWORD = \"farscape5\"\n SHADOWSOCKS = \"off\"\n DOT_PROVIDERS = \"cloudflare,google,quad9,quadrant\"\n DOT = \"off\"\n }\n\n service {\n name = \"${TASKGROUP}-admin\"\n tags = [\"global\", \"ovpn-openpyn\"]\n port = \"http_admin\"\n }\n\n service {\n name = \"${TASKGROUP}\"\n tags = [\"global\", \"ovpn-openpyn\"]\n port = \"shadowsocks\"\n }\n\n service {\n name = \"nzbget\"\n tags = [\"global\", \"ovpn-openpyn\"]\n port = \"nzbget\"\n }\n service {\n name = \"sabnzb\"\n tags = [\"global\", \"ovpn-openpyn\", \"enable_gocast\",\n \"gocast_vip=192.168.1.247/32\",\n \"gocast_nat=tcp:8080:8080\",\n \"gocast_nat=udp:8080:8080\",]\n port = \"sabnzb_admin\"\n }\nservice {\n name = \"socks-nord\"\n tags = [\"global\", \"ovpn-openpyn\", \"enable_gocast\",\n \"gocast_vip=192.168.1.243/32\",\n \"gocast_nat=tcp:1080:1080\",\n \"gocast_nat=udp:1080:1080\",]\n port = \"socks\" \n\n }\n\n\n resources {\n cpu = 100 # 500 MHz\n memory = 100 # 128MB\n }\n } #task ovpn\n\n\n task \"dante\" {\n driver = \"docker\"\n\n config {\n image = \"serjs/go-socks5-proxy\"\n // image = \"ghcr.io/sstent/dante:latest\"\n network_mode = \"container:ovpn-client-${NOMAD_ALLOC_ID}\"\n memory_hard_limit = 256\n\n devices = [\n {\n host_path = \"/dev/net/tun\"\n container_path = \"/dev/net/tun\"\n },\n ]\n }\n env {\n REQUIRE_AUTH = \"false\"\n }\n \n \n resources {\n cpu = 64 # 500 MHz\n memory = 128 # 128MB\n }\n }\n ######################################################################\n ######################################################################\n ######################################################################\n\n task \"init\" {\n driver = \"docker\"\n\n lifecycle {\n hook = \"prestart\"\n sidecar = false\n }\n\n config {\n image = \"ghcr.io/sstent/rsync:v0.3.5\"\n memory_hard_limit = \"2048\"\n\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\",\n ]\n\n args = [\"flock\", \"-x\", \"/locks/${NOMAD_GROUP_NAME}_rsync.lock\", \"rsync\", \"-avz\", \"--exclude=Backups\", \"/configbackup/\", \"/config/\", \"--delete-before\"]\n }\n\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n } #end init task\n task \"finalsync\" {\n driver = \"docker\"\n\n lifecycle {\n hook = \"poststop\"\n }\n\n config {\n // image = \"pebalk/rsync\"\n image = \"ghcr.io/sstent/rsync:v0.3.5\"\n memory_hard_limit = \"2048\"\n\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\",\n ]\n\n args = [\"flock\", \"-x\", \"/locks/${NOMAD_GROUP_NAME}_rsync.lock\", \"rsync\", \"-avz\", \"/config/\", \"/configbackup/\"]\n }\n\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n } #end finalsync task\n // task \"sync\" {\n // driver = \"docker\"\n\n // lifecycle {\n // hook = \"poststart\"\n // sidecar = true\n // }\n\n // config {\n // image = \"ghcr.io/sstent/rsync:v0.3.5\"\n // memory_hard_limit = \"2048\"\n\n // volumes = [\n // \"/mnt/configs/:/configs\",\n // \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n // ]\n\n // args = [\"client\"]\n // }\n // resources {\n // cpu = 20 # 500 MHz\n // memory = 20 # 128MB\n // }\n // env {\n // CRON_TASK_1 = \"*/20 8-20 * * * chmod a-w /configs/${NOMAD_GROUP_NAME}/ ; rsync -avz /configs/${NOMAD_GROUP_NAME}/ /configbackup/; chmod a+w /configs/${NOMAD_GROUP_NAME}/;\"\n // }\n // } #end sync task\n\n ######################################################################\n ######################################################################\n ######################################################################\n\n network {\n port \"shadowsocks\" {\n static = \"8338\"\n to = \"8388\"\n }\n\n port \"http_proxy\" {\n static = \"8888\"\n to = \"8888\"\n }\n port \"http_admin\" {\n static = \"8000\"\n to = \"8000\"\n }\n\n port \"sabnzb_admin\" {\n static = \"8080\"\n to = \"8080\"\n }\n\n\n port \"socks\" {\n static = \"1080\"\n to = \"1080\"\n }\n port \"nzbget\" {\n static = \"6789\"\n to = \"6789\"\n }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 10 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/postgres-15.json b/nomad_backup/20251115_142246/postgres-15.json deleted file mode 100644 index 68f2223..0000000 --- a/nomad_backup/20251115_142246/postgres-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "postgres-15", - "JobModifyIndex": 13569135, - "Namespace": "default", - "Source": "job \"postgres-15\" {\n type = \"system\"\n datacenters = [\"dc1\"]\n\n group \"group\" {\n count = 1\n\n network {\n \n port api { \n static = 8008 \n to = 8008 \n }\n port pg { \n static = 5432 \n to = 5432 \n }\n }\n\n task \"db\" {\n driver = \"docker\"\n\n template {\n data = <\\K.8-20 * * *?(?=<.8-20 * * *?>)' /config/config.xml)\n // // curl -f \"http://localhost:9696/api/v1/system/status?apikey=$API\"\n // }\n }\n template {\n data = <\\K.*?(?=<.*?>)' /config/config.xml)\"\n EOH\n\n destination = \"local/healthcheck.sh\"\n perms = \"0755\"\n }\n\n env {\n // SHARE = \"Public;/mount/Public;yes;no;yes;all;none;;Public\"\n # GLOBAL = \"socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536\"\n # PERMISSIONS = \"true\"\n # WORKGROUP = \"WORKGROUP\"\n TZ = \"EST5EDT\"\n\n PUID = 1000\n PGID = 1000\n }\n\n # We must specify the resources required for\n # this task to ensure it runs on a machine with\n # enough capacity.\n resources {\n cpu = 500 # 500 MHz\n memory = 256 # 128MB\n }\n\n # Specify configuration related to log rotation\n logs {\n max_files = 10\n max_file_size = 15\n }\n\n # Controls the timeout between signalling a task it will be killed\n # and killing the task. If not set a default is used.\n kill_timeout = \"10s\"\n } #End main task\n\n network {\n // mbits = 100\n\n port \"http\" {\n static = 9696\n to = 9696\n }\n port \"http_flare\" {\n static = 8191\n to = 8191\n }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 2 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/qautomate.json b/nomad_backup/20251115_142246/qautomate.json deleted file mode 100644 index 412b832..0000000 --- a/nomad_backup/20251115_142246/qautomate.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "qautomate", - "JobModifyIndex": 13930001, - "Namespace": "default", - "Source": "job \"qautomate\" {\n periodic {\n cron = \"*/30 * * * *\"\n prohibit_overlap = true\n }\n datacenters = [\"dc1\"]\n\n type = \"batch\"\n\n group \"app\" {\n count = 1\n\n task \"setup\" {\n driver = \"docker\"\n\n lifecycle {\n hook = \"prestart\"\n }\n\n config {\n image = \"ghcr.io/sstent/ubuntu-python3\"\n // command = \"/bin/bash\"\n args = [\"-v\",\"-c\", \"/local/prestart.sh\"]\n\n }\n\n template {\n data = <\nInfo\n7878\n\n*\n9898\nFalse\n237c27f22504440385e5ee295fd65eb5\nForms\nmaster\n\nTrue\n\nDocker\nFalse\nRadarr\nDisabledForLocalAddresses\npostgres\npostgres\n5432\nmaster.postgres.service.dc1.consul\n\n EOH\n\n destination = \"local/config.xml\"\n perms = \"0755\"\n }\n\n service {\n name = \"${TASKGROUP}\"\n tags = [\"radarr\", \"tools\"]\n port = \"http\"\n\n check {\n type = \"script\"\n name = \"check_up\"\n command = \"/local/healthcheck.sh\"\n interval = \"5m\"\n timeout = \"25s\"\n\n check_restart {\n limit = 3\n grace = \"90s\"\n ignore_warnings = false\n } \n }\n }\n template {\n data = <(.*)
' /config/config.xml | sed -e 's/<[^>]*>//g')\"\n EOH\n\n destination = \"local/healthcheck.sh\"\n perms = \"0755\"\n }\n\n env {\n TZ = \"EST5EDT\"\n PUID = 1000\n PGID = 1000\n }\n\n resources {\n cpu = 500 # 500 MHz\n memory = 256 # 128MB\n\n // network {\n // port \"radarr\" {\n // static = \"7878\"\n // }\n // }\n }\n\n logs {\n max_files = 10\n max_file_size = 15\n }\n\n kill_timeout = \"10s\"\n } #Task\n\n network {\n // mode = \"bridge\"\n port \"http\" {\n static = 7878\n to = 7878\n }\n }\n } #Group\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 13 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/slskd.json b/nomad_backup/20251115_142246/slskd.json deleted file mode 100644 index b7b1219..0000000 --- a/nomad_backup/20251115_142246/slskd.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "slskd", - "JobModifyIndex": 14202950, - "Namespace": "default", - "Source": "# There can only be a single job definition per file.\n# Create a job with ID and Name 'example'\njob \"slskd\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n\n constraint {\n attribute = \"${attr.kernel.name}\"\n value = \"linux\"\n }\nconstraint {\n attribute = \"${attr.cpu.arch}\"\n operator = \"regexp\"\n value = \"amd64\"\n }\n\n update {\n stagger = \"10s\"\n max_parallel = 1\n }\n\n group \"slskd\" {\n count = 1\n\n restart {\n attempts = 2\n interval = \"1m\"\n delay = \"10s\"\n mode = \"fail\"\n }\n\ntask \"slskd-vpn\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = true\n }\n\n config {\n // image = \"registry.service.dc1.consul:5000/openpyn:latest\"\n // image = \"qmcgaw/gluetun\"\n image = \"qmcgaw/gluetun\"\n\n memory_hard_limit = \"1024\"\n ports = [\"http\",\"https\",\"guac\"]\n\n cap_add = [\n \"NET_ADMIN\",\n \"NET_BIND_SERVICE\",\n ]\n\n #network_mode = \"host\"\n #network_mode = \"vpn\"\n\n volumes = [\n \"/etc/localtime:/etc/localtime\",\n \"/mnt/syncthing/mullvad:/vpn\",\n\n ]\n devices = [\n {\n host_path = \"/dev/net/tun\"\n container_path = \"/dev/net/tun\"\n },\n ]\n }\n\n env {\n VPN_SERVICE_PROVIDER=\"airvpn\"\n VPN_TYPE=\"wireguard\"\n WIREGUARD_PRIVATE_KEY=\"SPpgnVCsOnz+zzorzTiOmvDF8GElgp27dSIeYAq43Vk=\"\n WIREGUARD_PRESHARED_KEY=\"TBb2gU8pSTSG6lT4QYr7pzNWN7wZEn0yeG4VDTtuy50=\"\n WIREGUARD_ADDRESSES=\"10.186.222.247/32\"\n SERVER_COUNTRIES=\"Canada\"\n SERVER_CITIES=\"Montreal\"\n FIREWALL_VPN_INPUT_PORTS = \"53304\"\n HEALTH_TARGET_ADDRESS=\"1.1.1.1\"\n HEALTH_SUCCESS_WAIT_DURATION=\"30s\"\n HEALTH_VPN_DURATION_INITIAL=\"3600s\"\n HEALTH_VPN_DURATION_ADDITION=\"600s\"\n // HEALTH_TARGET_ADDRESS=\"cloudflare.com:443\"\n \n \n ##Mullvad\n #VPNSP = \"mullvad\"\n #VPN_TYPE = \"wireguard\"\n #COUNTRY = \"Canada\"\n #CITY = \"Toronto\"\n #FIREWALL_VPN_INPUT_PORTS = \"56987\"\n #WIREGUARD_PRIVATE_KEY = \"iA64ImY2XNvml7s+HEHWNNGXeqpzFN0/KYGxhCsHLV8=\"\n #WIREGUARD_ADDRESS = \"10.64.141.217/32\"\n HTTPPROXY = \"on\"\n SHADOWSOCKS_PASSWORD = \"farscape5\"\n SHADOWSOCKS = \"on\"\n DOT_PROVIDERS = \"cloudflare,google,quad9,quadrant\"\n DOT = \"off\"\n WEBUI_PORT=8080\n }\n\n\n resources {\n cpu = 100 # 500 MHz\n memory = 250 # 128MB\n }\n } #task ovpn\n\n task \"nicotine\" {\n driver = \"docker\"\n\n config {\n image = \"ghcr.io/fletchto99/nicotine-plus-docker:latest\"\n memory_hard_limit = \"1024\"\n \n network_mode = \"container:slskd-vpn-${NOMAD_ALLOC_ID}\"\n\n volumes = [\n \"/mnt/Public/Downloads/news/slskd/config:/config\",\n \"/mnt/Public/Downloads/news/slskd/shared:/shared\",\n \"/mnt/Public/Downloads/news/slskd/downloads/:/downloads\",\n \"/mnt/Public/Downloads/news/slskd/incomplete/:/incomplete\",\n ]\n }\n env {\n PUID=1000\n PGID=1000\n TZ=\"Etc/UTC\"\n LISTENING_PORT=\"53304\"\n }\n }\n\n\n network {\n // mbits = 100\n\n port \"http\" {\n static = 5000\n to = 5000\n }\n port \"https\" {\n static = 5001\n to = 5001\n }\n port \"guac\" {\n static = 6080\n to = 6080\n }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 14 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/sonarr.json b/nomad_backup/20251115_142246/sonarr.json deleted file mode 100644 index 55ccc4f..0000000 --- a/nomad_backup/20251115_142246/sonarr.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "sonarr", - "JobModifyIndex": 13991917, - "Namespace": "default", - "Source": "# There can only be a single job definition per file.\n# Create a job with ID and Name 'example'\njob \"sonarr\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n\n constraint {\n attribute = \"${attr.kernel.name}\"\n value = \"linux\"\n }\n constraint {\n attribute = \"${attr.cpu.arch}\"\n operator = \"regexp\"\n value = \"amd64\"\n }\n \n update {\n stagger = \"10s\"\n max_parallel = 1\n }\n group \"sonarr\" {\n count = 1\n\n restart {\n attempts = 2\n interval = \"1m\"\n delay = \"10s\"\n mode = \"fail\"\n }\n\n task \"sonarr\" {\n // driver = \"raw_exec\" // config { // command = \"docker\" // args = [\"run\", // \"--rm\", // \"--name=sonarr\", // \"-e\", \"PUID=1000\", // \"-e\", \"PGID=1000\", // \"-e\", \"TZ=EST5EDT\", // \"-p\", \"8989:8989\", // \"-v\", \"/mnt/syncthing/sonarrv3:/config\", // \"-v\", \"/mnt/Public/Downloads/tv:/tv\", // \"-v\", \"/mnt/Public/Downloads/news:/downloads\", // \"--cpuset-cpus\",\"4-7\", // \"linuxserver/sonarr:preview\"] // }\n\n driver = \"docker\"\n\n config {\n image = \"linuxserver/sonarr:develop\"\n\n ports = [\"http\"]\n\n // dns_servers = [\"192.168.1.1\", \"1.1.1.1\"]\n memory_hard_limit = \"2048\"\n // cpuset_cpus = \"4-7\"\n\n volumes = [\n \"/mnt/Public/Downloads/news:/downloads\",\n \"/mnt/Public/Downloads/tv:/tv\",\n // \"/mnt/configs/sonarr:/config\",\n \"/mnt/Public/configs/sonarr_pg:/config\",\n // \"local/config.xml:/config/config.xml\"\n ]\n\n // \"/mnt/gv0/sonarr:/config\",\n force_pull = false\n }\n\n service {\n name = \"${TASKGROUP}\"\n tags = [\"sonarr\", \"tools\"]\n port = \"http\"\n\n check {\n type = \"script\"\n name = \"check_up\"\n command = \"/local/healthcheck.sh\"\n interval = \"60s\"\n timeout = \"5s\"\n\n check_restart {\n limit = 3\n grace = \"90s\"\n ignore_warnings = false\n } \n }\n }\n template {\n data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')\"\n EOH\n\n destination = \"local/healthcheck.sh\"\n perms = \"0755\"\n }\n\n template {\n data = \"---\\nkey: {{ key \\\"ovpn-client\\\" }}\"\n destination = \"local/file.yml\"\n change_mode = \"restart\"\n }\n template {\n data = <\nInfo\n8989\n/sonarr\n*\n9898\nFalse\n1632787062fb47a9a6eb4c88e32b3ff3\nNone\ndevelop\nTrue\n\nDocker\nFalse\n/config/restart.sh\nSonarr\npostgres\npostgres\n5432\nmaster.postgres.service.dc1.consul\n\n EOH\n\n destination = \"local/config.xml\"\n perms = \"0755\"\n }\n env {\n // SHARE = \"Public;/mount/Public;yes;no;yes;all;none;;Public\"\n # GLOBAL = \"socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536\"\n # PERMISSIONS = \"true\"\n # WORKGROUP = \"WORKGROUP\"\n TZ = \"EST5EDT\"\n\n PUID = 1000\n PGID = 1000\n }\n\n # We must specify the resources required for\n # this task to ensure it runs on a machine with\n # enough capacity.\n resources {\n cpu = 500 # 500 MHz\n memory = 256 # 128MB\n }\n\n # Specify configuration related to log rotation\n logs {\n max_files = 12\n max_file_size = 15\n }\n\n # Controls the timeout between signalling a task it will be killed\n # and killing the task. If not set a default is used.\n kill_timeout = \"10s\"\n } #End main task\n\n network {\n // mbits = 100\n\n port \"http\" {\n static = 8989\n to = 8989\n }\n }\n }\n}\n", - "VariableFlags": null, - "Variables": "", - "Version": 20 -} \ No newline at end of file diff --git a/nomad_backup/20251115_142246/traefik.json b/nomad_backup/20251115_142246/traefik.json deleted file mode 100644 index a6c3f2a..0000000 --- a/nomad_backup/20251115_142246/traefik.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Format": "hcl2", - "JobID": "traefik", - "JobModifyIndex": 14202342, - "Namespace": "default", - "Source": "job \"traefik\" {\n datacenters = [\"dc1\"]\n type = \"system\"\n\n constraint {\n attribute = \"${attr.kernel.name}\"\n value = \"linux\"\n }\n\n update {\n stagger = \"10s\"\n max_parallel = 1\n healthy_deadline = \"5m\"\n }\n\n group \"traefik\" {\n count = 1\n\n restart {\n attempts = 6\n interval = \"1m\"\n delay = \"10s\"\n mode = \"delay\"\n }\n\n task \"traefik\" {\n driver = \"docker\"\n\n config {\n image = \"traefik:2.9\"\n // network_mode = \"host\"\n\n args = [\n // \"--api.dashboard\",\n // \"--providers.consulcatalog.defaultRule=Host(`{{ .Name }}.service.dc1.consul`)\",\n // \"--providers.consulcatalog.endpoint.address=${attr.unique.network.ip-address}:8500\",\n // \"--providers.consulcatalog.exposedbydefault=true\",\n // \"--metrics=true\",\n // \"--metrics.prometheus=true\",\n // \"--metrics.prometheus.entryPoint=web\",\n // \"--entryPoints.web.address=:80\",\n // \"--entryPoints.websecure.address=:443\",\n // \"--entryPoints.openvpn.address=:1194/udp\",\n \"--configFile=/local/file.yml\",\n // \"--certificatesresolvers.myresolver.acme.email=stuart.stent@gmail.com\",\n // \"--certificatesresolvers.myresolver.acme.storage=/acmecert/acme.json\",\n // \"--certificatesresolvers.myresolver.acme.tlschallenge=true\",\n // \"--certificatesresolvers.myresolver-int.acme.email=stuart.stent@gmail.com\",\n // \"--certificatesresolvers.myresolver-int.acme.storage=/acmecert/acme.json\",\n // \"--certificatesresolvers.myresolver-int.acme.tlschallenge=true\",\n // \"--certificatesresolvers.myresolver-int.acme.dnschallenge=true\",\n // \"--certificatesresolvers.myresolver-int.acme.dnschallenge.provider=duckdns\",\n \"--accesslog=true\",\n // \"--serversTransport.insecureSkipVerify=true\",\n ]\n volumes = [\n \"/var/run/docker.sock:/var/run/docker.sock\",\n \"/mnt/mnt/configs/letsencrypt:/acmecert/\",\n ]\n\n dns_servers = [\"192.168.1.1\", \"192.168.1.250\"]\n ports = [\"traefik\", \"traefikhttps\",\"traefikui\"]\n\n memory_hard_limit = 2048\n }\n\n env {\n TZ = \"EST5EDT\"\n PUID = 1000\n PGID = 1000\n DUCKDNS_TOKEN=\"e4b5ca33-1f4d-494b-b06d-6dd4600df662\"\n }\n\n template {\n left_delimiter = \"[[\"\n right_delimiter = \"]]\"\n\n data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - - resources { - cpu = 100 - memory = 128 - } - } - - # PHP-FPM container - task "php-fpm" { - driver = "docker" - - config { - image = "php:8.2-fpm-alpine" - network_mode = "container:nginx-${NOMAD_ALLOC_ID}" - - volumes = [ - "local/app:/var/www/html", - "local/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf", - ] - } - - template { - data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - resources { - cpu = 200 - memory = 256 - } - } - - # Restart policy - restart { - attempts = 3 - interval = "5m" - delay = "25s" - mode = "fail" - } - - # Update strategy - update { - max_parallel = 1 - min_healthy_time = "10s" - healthy_deadline = "3m" - auto_revert = true - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_142432/democratic-csi-local.hcl b/nomad_backup/20251115_142432/democratic-csi-local.hcl deleted file mode 100644 index 1fc4018..0000000 --- a/nomad_backup/20251115_142432/democratic-csi-local.hcl +++ /dev/null @@ -1,105 +0,0 @@ -job "democratic-csi-local" { - datacenters = ["dc1"] - type = "system" - - group "controller" { - count = 1 - - task "controller" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=controller", - "--server-socket=/csi/csi.sock", - ] - - volumes = [ - "local/config:/config:ro" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "controller" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } - - group "nodes" { - task "node" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=node", - "--server-socket=/csi/csi.sock", - ] - - privileged = true - - volumes = [ - "local/config:/config:ro", - "/tmp/democratic-csi-local-hostpath:/tmp/democratic-csi-local-hostpath:rshared" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "node" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } -} diff --git a/nomad_backup/20251115_142432/foodplanner.hcl b/nomad_backup/20251115_142432/foodplanner.hcl deleted file mode 100644 index 8f15b81..0000000 --- a/nomad_backup/20251115_142432/foodplanner.hcl +++ /dev/null @@ -1,99 +0,0 @@ -job "foodplanner" { - datacenters = ["dc1"] - - type = "service" - - group "app" { - count = 1 - - network { - port "http" { - to = 8999 - } - } - - service { - name = "foodplanner" - port = "http" - - check { - type = "http" - path = "/" - interval = "10s" - timeout = "2s" - } - } - - # Prestart restore task - task "restore" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - # image = "litestream/litestream:latest" - image = "litestream/litestream:0.3" - args = [ - "restore", - # "-if-replica-exists", - #"-if-db-not-exists", - "-o", "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - volumes = [ - "/opt/nomad/data:/data" - ] - } - } - - task "app" { - driver = "docker" - - config { - image = "ghcr.io/sstent/foodplanner:main" - ports = ["http"] - - # Mount the SQLite database file to persist data - # Adjust the source path as needed for your environment - volumes = [ - "/mnt/Public/configs/FoodPlanner_backups:/app/backups/", - ] - } - env { - DATABASE_PATH = "/alloc/tmp" - DATABASE_URL = "sqlite:////alloc/tmp/meal_planner.db" - } - resources { - cpu = 500 - memory = 1024 - } - - # Restart policy - restart { - attempts = 3 - interval = "10m" - delay = "15s" - mode = "fail" - } - } - - # Litestream sidecar for continuous replication - task "litestream" { - driver = "docker" - lifecycle { - hook = "poststart" # runs after main task starts - sidecar = true - } - config { - # image = "litestream/litestream:0.5.0-test.10" - image = "litestream/litestream:0.3" - args = [ - "replicate", - "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - } - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_142432/gonic.hcl b/nomad_backup/20251115_142432/gonic.hcl deleted file mode 100644 index d45a4e0..0000000 --- a/nomad_backup/20251115_142432/gonic.hcl +++ /dev/null @@ -1,151 +0,0 @@ -job "gonic" { - datacenters = ["dc1"] - type = "service" - - - - group "gonic" { - count = 1 - task "gonic" { - driver = "docker" - config { - image = "sentriz/gonic" - port_map { - http = 80 - } - volumes = [ - "/mnt/configs/gonic/data:/data", - "/mnt/configs/gonic/cache:/cache", - "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", - "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", - "/mnt/Public/Downloads/podcasts:/podcasts", - "/mnt/Public/Downloads/musicplaylists:/musicplaylists", - - ] - } - env{ - GONIC_SCAN_INTERVAL = "120" - GONIC_MUSIC_PATH = "/music" - GONIC_PODCAST_PATH = "/podcasts" - GONIC_PLAYLISTS_PATH = "/musicplaylists" - } - resources { - cpu = 100 # 100 MHz - memory = 256 # 128 MB - network { - port "http" { - static = "4747" - } - } - } - service { - name = "gonic" - tags = [ - "gonic", - "web", - "urlprefix-/gonic", - "backend", - "traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)", - "traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)", - "traefik.http.routers.gonicwan.tls=true", - "traefik.http.routers.gonicwan.tls.certresolver=myresolver" - - ] - // "traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm", - port = "http" - meta { - ALLOC = "${NOMAD_ALLOC_ID}" - } - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } #end gonic - - task "init-manual" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","--exclude=Backups","/configbackup/","/config/","--delete-before"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - - task "finalsync-manual" { - driver = "docker" - lifecycle { - hook = "poststop" - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","/config/","/configbackup/"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - task "db-sync" { - driver = "docker" - lifecycle { - hook = "poststart" - sidecar = true - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - volumes = [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - ] - - // args = ["/usr/local/bin/litestream", "replicate", "-config","/local/litestream.yml"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - template { - data = <Local Services - HTTP/HTTPS

- - - - - - - {{range services}} - {{range $i, $s :=service .Name}} - {{ if eq $i 0 }} - - - - - - - {{end}} - {{end}} - {{end}} -
Service NameTraefikDirect
{{.Name}}{{.Name}}.service.dc1.consul{{ if eq .Name "unifi" }}https{{else}}http{{end}}://{{.Name}}.service.dc1.consul:{{.Port}}
-

- Node Environment Information:
- node_id: {{ env "node.unique.id" }}
- datacenter: {{ env "NOMAD_DC" }} -

- EOH - - destination = "local/data/index.html" - change_mode = "noop" - } - - resources { - cpu = 100 # 100 MHz - memory = 64 # 128 MB - } - service { - name = "nginx" - tags = ["nginx", "web", "urlprefix-/nginx", "backend"] - port = "http" - - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } - - network { - port "http" { - to = 8080 - } - - // port "https" { - // to = 443 - // } - } - } -} diff --git a/nomad_backup/20251115_142432/nzbget.hcl b/nomad_backup/20251115_142432/nzbget.hcl deleted file mode 100644 index 0ac7b66..0000000 --- a/nomad_backup/20251115_142432/nzbget.hcl +++ /dev/null @@ -1,305 +0,0 @@ -job "nzbget" { - # region = "global" - datacenters = ["dc1"] - type = "service" - - # priority = 50 - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.unique.hostname}" - operator = "regexp" - value = "odroid.*" - } - update { - # Stagger updates every 60 seconds - stagger = "90s" - max_parallel = 1 - healthy_deadline = "5m" - } - group "nzbget" { - count = 1 - - restart { - attempts = 8 - interval = "20m" - delay = "10s" - mode = "delay" - } - - // task "init-trigger" { - // driver = "docker" - - // lifecycle { - // hook = "prestart" - // } - - // config { - // image = "curlimages/curl" - // args = ["--request", "PUT", "--data", "${NOMAD_ALLOC_ID}", "http://${attr.unique.network.ip-address}:8500/v1/kv/${NOMAD_GROUP_NAME}"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // } - - - task "ovpn-client" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - image = "qmcgaw/gluetun" - memory_hard_limit = "1024" - - ports = [ - "shadowsocks", - "nzbget", - "http_proxy", - "http_admin", - "sabnzb_admin", - "socks", - ] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - // VPNFLAGS = "us --max-load 70 --top-servers 10 --pings 5" - // VPNFLAGS = "nl --max-load 70 --top-servers 10 --pings 5" - // VPNSP = "nordvpn" - // OPENVPN_USER = "yvPLaZ3xkXtnJKsyXDNQf9Ft" - // OPENVPN_PASSWORD = "SW8XvhGkSVuQitjuFrbH9WPA" - // REGION = "Netherlands" - ##Mullvad - VPNSP = "mullvad" - VPN_TYPE = "wireguard" - COUNTRY = "Canada" - CITY = "Toronto" - FIREWALL_VPN_INPUT_PORTS = "56987" - WIREGUARD_PRIVATE_KEY = "2FHwQX1jxk+qeMmXUtSGRc2kKF1WHeSCyIgHNW+7akA=" #ActiveLynx - WIREGUARD_ADDRESS = "10.66.246.4/32" - - - - HTTPPROXY = "on" - UPDATER_PERIOD= "24h" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "off" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - } - - service { - name = "${TASKGROUP}-admin" - tags = ["global", "ovpn-openpyn"] - port = "http_admin" - } - - service { - name = "${TASKGROUP}" - tags = ["global", "ovpn-openpyn"] - port = "shadowsocks" - } - - service { - name = "nzbget" - tags = ["global", "ovpn-openpyn"] - port = "nzbget" - } - service { - name = "sabnzb" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.247/32", - "gocast_nat=tcp:8080:8080", - "gocast_nat=udp:8080:8080",] - port = "sabnzb_admin" - } -service { - name = "socks-nord" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.243/32", - "gocast_nat=tcp:1080:1080", - "gocast_nat=udp:1080:1080",] - port = "socks" - - } - - - resources { - cpu = 100 # 500 MHz - memory = 100 # 128MB - } - } #task ovpn - - - task "dante" { - driver = "docker" - - config { - image = "serjs/go-socks5-proxy" - // image = "ghcr.io/sstent/dante:latest" - network_mode = "container:ovpn-client-${NOMAD_ALLOC_ID}" - memory_hard_limit = 256 - - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - env { - REQUIRE_AUTH = "false" - } - - - resources { - cpu = 64 # 500 MHz - memory = 128 # 128MB - } - } - ###################################################################### - ###################################################################### - ###################################################################### - - task "init" { - driver = "docker" - - lifecycle { - hook = "prestart" - sidecar = false - } - - 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"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end init task - task "finalsync" { - driver = "docker" - - lifecycle { - hook = "poststop" - } - - config { - // image = "pebalk/rsync" - 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", "/config/", "/configbackup/"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end finalsync task - // task "sync" { - // driver = "docker" - - // lifecycle { - // hook = "poststart" - // sidecar = true - // } - - // config { - // image = "ghcr.io/sstent/rsync:v0.3.5" - // memory_hard_limit = "2048" - - // volumes = [ - // "/mnt/configs/:/configs", - // "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - // ] - - // args = ["client"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // env { - // CRON_TASK_1 = "*/20 8-20 * * * chmod a-w /configs/${NOMAD_GROUP_NAME}/ ; rsync -avz /configs/${NOMAD_GROUP_NAME}/ /configbackup/; chmod a+w /configs/${NOMAD_GROUP_NAME}/;" - // } - // } #end sync task - - ###################################################################### - ###################################################################### - ###################################################################### - - network { - port "shadowsocks" { - static = "8338" - to = "8388" - } - - port "http_proxy" { - static = "8888" - to = "8888" - } - port "http_admin" { - static = "8000" - to = "8000" - } - - port "sabnzb_admin" { - static = "8080" - to = "8080" - } - - - port "socks" { - static = "1080" - to = "1080" - } - port "nzbget" { - static = "6789" - to = "6789" - } - } - } -} diff --git a/nomad_backup/20251115_142432/postgres-15.hcl b/nomad_backup/20251115_142432/postgres-15.hcl deleted file mode 100644 index 86ee7d7..0000000 --- a/nomad_backup/20251115_142432/postgres-15.hcl +++ /dev/null @@ -1,116 +0,0 @@ -job "postgres-15" { - type = "system" - datacenters = ["dc1"] - - group "group" { - count = 1 - - network { - - port api { - static = 8008 - to = 8008 - } - port pg { - static = 5432 - to = 5432 - } - } - - task "db" { - driver = "docker" - - template { - data = <\K.8-20 * * *?(?=<.8-20 * * *?>)' /config/config.xml) - // // curl -f "http://localhost:9696/api/v1/system/status?apikey=$API" - // } - } - template { - data = <\K.*?(?=<.*?>)' /config/config.xml)" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 10 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 9696 - to = 9696 - } - port "http_flare" { - static = 8191 - to = 8191 - } - } - } -} diff --git a/nomad_backup/20251115_142432/qautomate.hcl b/nomad_backup/20251115_142432/qautomate.hcl deleted file mode 100644 index b7ea82e..0000000 --- a/nomad_backup/20251115_142432/qautomate.hcl +++ /dev/null @@ -1,59 +0,0 @@ -job "qautomate" { - periodic { - cron = "*/30 * * * *" - prohibit_overlap = true - } - datacenters = ["dc1"] - - type = "batch" - - group "app" { - count = 1 - - task "setup" { - driver = "docker" - - lifecycle { - hook = "prestart" - } - - config { - image = "ghcr.io/sstent/ubuntu-python3" - // command = "/bin/bash" - args = ["-v","-c", "/local/prestart.sh"] - - } - - template { - data = < -Info -7878 - -* -9898 -False -237c27f22504440385e5ee295fd65eb5 -Forms -master - -True - -Docker -False -Radarr -DisabledForLocalAddresses -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - - service { - name = "${TASKGROUP}" - tags = ["radarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "5m" - timeout = "25s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - } - - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - - // network { - // port "radarr" { - // static = "7878" - // } - // } - } - - logs { - max_files = 10 - max_file_size = 15 - } - - kill_timeout = "10s" - } #Task - - network { - // mode = "bridge" - port "http" { - static = 7878 - to = 7878 - } - } - } #Group -} diff --git a/nomad_backup/20251115_142432/slskd.hcl b/nomad_backup/20251115_142432/slskd.hcl deleted file mode 100644 index 0794503..0000000 --- a/nomad_backup/20251115_142432/slskd.hcl +++ /dev/null @@ -1,149 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "slskd" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } -constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - - group "slskd" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - -task "slskd-vpn" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - // image = "qmcgaw/gluetun" - image = "qmcgaw/gluetun" - - memory_hard_limit = "1024" - ports = ["http","https","guac"] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - "/mnt/syncthing/mullvad:/vpn", - - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - VPN_SERVICE_PROVIDER="airvpn" - VPN_TYPE="wireguard" - WIREGUARD_PRIVATE_KEY="SPpgnVCsOnz+zzorzTiOmvDF8GElgp27dSIeYAq43Vk=" - WIREGUARD_PRESHARED_KEY="TBb2gU8pSTSG6lT4QYr7pzNWN7wZEn0yeG4VDTtuy50=" - WIREGUARD_ADDRESSES="10.186.222.247/32" - SERVER_COUNTRIES="Canada" - SERVER_CITIES="Montreal" - FIREWALL_VPN_INPUT_PORTS = "53304" - HEALTH_TARGET_ADDRESS="1.1.1.1" - HEALTH_SUCCESS_WAIT_DURATION="30s" - HEALTH_VPN_DURATION_INITIAL="3600s" - HEALTH_VPN_DURATION_ADDITION="600s" - // HEALTH_TARGET_ADDRESS="cloudflare.com:443" - - - ##Mullvad - #VPNSP = "mullvad" - #VPN_TYPE = "wireguard" - #COUNTRY = "Canada" - #CITY = "Toronto" - #FIREWALL_VPN_INPUT_PORTS = "56987" - #WIREGUARD_PRIVATE_KEY = "iA64ImY2XNvml7s+HEHWNNGXeqpzFN0/KYGxhCsHLV8=" - #WIREGUARD_ADDRESS = "10.64.141.217/32" - HTTPPROXY = "on" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "on" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - WEBUI_PORT=8080 - } - - - resources { - cpu = 100 # 500 MHz - memory = 250 # 128MB - } - } #task ovpn - - task "nicotine" { - driver = "docker" - - config { - image = "ghcr.io/fletchto99/nicotine-plus-docker:latest" - memory_hard_limit = "1024" - - network_mode = "container:slskd-vpn-${NOMAD_ALLOC_ID}" - - volumes = [ - "/mnt/Public/Downloads/news/slskd/config:/config", - "/mnt/Public/Downloads/news/slskd/shared:/shared", - "/mnt/Public/Downloads/news/slskd/downloads/:/downloads", - "/mnt/Public/Downloads/news/slskd/incomplete/:/incomplete", - ] - } - env { - PUID=1000 - PGID=1000 - TZ="Etc/UTC" - LISTENING_PORT="53304" - } - } - - - network { - // mbits = 100 - - port "http" { - static = 5000 - to = 5000 - } - port "https" { - static = 5001 - to = 5001 - } - port "guac" { - static = 6080 - to = 6080 - } - } - } -} diff --git a/nomad_backup/20251115_142432/sonarr.hcl b/nomad_backup/20251115_142432/sonarr.hcl deleted file mode 100644 index b2fa4a3..0000000 --- a/nomad_backup/20251115_142432/sonarr.hcl +++ /dev/null @@ -1,158 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "sonarr" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - group "sonarr" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - - task "sonarr" { - // driver = "raw_exec" // config { // command = "docker" // args = ["run", // "--rm", // "--name=sonarr", // "-e", "PUID=1000", // "-e", "PGID=1000", // "-e", "TZ=EST5EDT", // "-p", "8989:8989", // "-v", "/mnt/syncthing/sonarrv3:/config", // "-v", "/mnt/Public/Downloads/tv:/tv", // "-v", "/mnt/Public/Downloads/news:/downloads", // "--cpuset-cpus","4-7", // "linuxserver/sonarr:preview"] // } - - driver = "docker" - - config { - image = "linuxserver/sonarr:develop" - - ports = ["http"] - - // dns_servers = ["192.168.1.1", "1.1.1.1"] - memory_hard_limit = "2048" - // cpuset_cpus = "4-7" - - volumes = [ - "/mnt/Public/Downloads/news:/downloads", - "/mnt/Public/Downloads/tv:/tv", - // "/mnt/configs/sonarr:/config", - "/mnt/Public/configs/sonarr_pg:/config", - // "local/config.xml:/config/config.xml" - ] - - // "/mnt/gv0/sonarr:/config", - force_pull = false - } - - service { - name = "${TASKGROUP}" - tags = ["sonarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "60s" - timeout = "5s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - template { - data = "---\nkey: {{ key \"ovpn-client\" }}" - destination = "local/file.yml" - change_mode = "restart" - } - template { - data = < -Info -8989 -/sonarr -* -9898 -False -1632787062fb47a9a6eb4c88e32b3ff3 -None -develop -True - -Docker -False -/config/restart.sh -Sonarr -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 12 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 8989 - to = 8989 - } - } - } -} diff --git a/nomad_backup/20251115_142432/traefik.hcl b/nomad_backup/20251115_142432/traefik.hcl deleted file mode 100644 index 7dc2f1d..0000000 --- a/nomad_backup/20251115_142432/traefik.hcl +++ /dev/null @@ -1,218 +0,0 @@ -job "traefik" { - datacenters = ["dc1"] - type = "system" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - - update { - stagger = "10s" - max_parallel = 1 - healthy_deadline = "5m" - } - - group "traefik" { - count = 1 - - restart { - attempts = 6 - interval = "1m" - delay = "10s" - mode = "delay" - } - - task "traefik" { - driver = "docker" - - config { - image = "traefik:2.9" - // network_mode = "host" - - args = [ - // "--api.dashboard", - // "--providers.consulcatalog.defaultRule=Host(`{{ .Name }}.service.dc1.consul`)", - // "--providers.consulcatalog.endpoint.address=${attr.unique.network.ip-address}:8500", - // "--providers.consulcatalog.exposedbydefault=true", - // "--metrics=true", - // "--metrics.prometheus=true", - // "--metrics.prometheus.entryPoint=web", - // "--entryPoints.web.address=:80", - // "--entryPoints.websecure.address=:443", - // "--entryPoints.openvpn.address=:1194/udp", - "--configFile=/local/file.yml", - // "--certificatesresolvers.myresolver.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver-int.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver-int.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge.provider=duckdns", - "--accesslog=true", - // "--serversTransport.insecureSkipVerify=true", - ] - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock", - "/mnt/mnt/configs/letsencrypt:/acmecert/", - ] - - dns_servers = ["192.168.1.1", "192.168.1.250"] - ports = ["traefik", "traefikhttps","traefikui"] - - memory_hard_limit = 2048 - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - DUCKDNS_TOKEN="e4b5ca33-1f4d-494b-b06d-6dd4600df662" - } - - template { - left_delimiter = "[[" - right_delimiter = "]]" - - data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - - resources { - cpu = 100 - memory = 128 - } - } - - # PHP-FPM container - task "php-fpm" { - driver = "docker" - - config { - image = "php:8.2-fpm-alpine" - network_mode = "container:nginx-${NOMAD_ALLOC_ID}" - - volumes = [ - "local/app:/var/www/html", - "local/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf", - ] - } - - template { - data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - resources { - cpu = 200 - memory = 256 - } - } - - # Restart policy - restart { - attempts = 3 - interval = "5m" - delay = "25s" - mode = "fail" - } - - # Update strategy - update { - max_parallel = 1 - min_healthy_time = "10s" - healthy_deadline = "3m" - auto_revert = true - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_142628/democratic-csi-local.hcl b/nomad_backup/20251115_142628/democratic-csi-local.hcl deleted file mode 100644 index 1fc4018..0000000 --- a/nomad_backup/20251115_142628/democratic-csi-local.hcl +++ /dev/null @@ -1,105 +0,0 @@ -job "democratic-csi-local" { - datacenters = ["dc1"] - type = "system" - - group "controller" { - count = 1 - - task "controller" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=controller", - "--server-socket=/csi/csi.sock", - ] - - volumes = [ - "local/config:/config:ro" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "controller" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } - - group "nodes" { - task "node" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=node", - "--server-socket=/csi/csi.sock", - ] - - privileged = true - - volumes = [ - "local/config:/config:ro", - "/tmp/democratic-csi-local-hostpath:/tmp/democratic-csi-local-hostpath:rshared" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "node" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } -} diff --git a/nomad_backup/20251115_142628/foodplanner.hcl b/nomad_backup/20251115_142628/foodplanner.hcl deleted file mode 100644 index 8f15b81..0000000 --- a/nomad_backup/20251115_142628/foodplanner.hcl +++ /dev/null @@ -1,99 +0,0 @@ -job "foodplanner" { - datacenters = ["dc1"] - - type = "service" - - group "app" { - count = 1 - - network { - port "http" { - to = 8999 - } - } - - service { - name = "foodplanner" - port = "http" - - check { - type = "http" - path = "/" - interval = "10s" - timeout = "2s" - } - } - - # Prestart restore task - task "restore" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - # image = "litestream/litestream:latest" - image = "litestream/litestream:0.3" - args = [ - "restore", - # "-if-replica-exists", - #"-if-db-not-exists", - "-o", "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - volumes = [ - "/opt/nomad/data:/data" - ] - } - } - - task "app" { - driver = "docker" - - config { - image = "ghcr.io/sstent/foodplanner:main" - ports = ["http"] - - # Mount the SQLite database file to persist data - # Adjust the source path as needed for your environment - volumes = [ - "/mnt/Public/configs/FoodPlanner_backups:/app/backups/", - ] - } - env { - DATABASE_PATH = "/alloc/tmp" - DATABASE_URL = "sqlite:////alloc/tmp/meal_planner.db" - } - resources { - cpu = 500 - memory = 1024 - } - - # Restart policy - restart { - attempts = 3 - interval = "10m" - delay = "15s" - mode = "fail" - } - } - - # Litestream sidecar for continuous replication - task "litestream" { - driver = "docker" - lifecycle { - hook = "poststart" # runs after main task starts - sidecar = true - } - config { - # image = "litestream/litestream:0.5.0-test.10" - image = "litestream/litestream:0.3" - args = [ - "replicate", - "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - } - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_142628/gonic.hcl b/nomad_backup/20251115_142628/gonic.hcl deleted file mode 100644 index d45a4e0..0000000 --- a/nomad_backup/20251115_142628/gonic.hcl +++ /dev/null @@ -1,151 +0,0 @@ -job "gonic" { - datacenters = ["dc1"] - type = "service" - - - - group "gonic" { - count = 1 - task "gonic" { - driver = "docker" - config { - image = "sentriz/gonic" - port_map { - http = 80 - } - volumes = [ - "/mnt/configs/gonic/data:/data", - "/mnt/configs/gonic/cache:/cache", - "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", - "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", - "/mnt/Public/Downloads/podcasts:/podcasts", - "/mnt/Public/Downloads/musicplaylists:/musicplaylists", - - ] - } - env{ - GONIC_SCAN_INTERVAL = "120" - GONIC_MUSIC_PATH = "/music" - GONIC_PODCAST_PATH = "/podcasts" - GONIC_PLAYLISTS_PATH = "/musicplaylists" - } - resources { - cpu = 100 # 100 MHz - memory = 256 # 128 MB - network { - port "http" { - static = "4747" - } - } - } - service { - name = "gonic" - tags = [ - "gonic", - "web", - "urlprefix-/gonic", - "backend", - "traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)", - "traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)", - "traefik.http.routers.gonicwan.tls=true", - "traefik.http.routers.gonicwan.tls.certresolver=myresolver" - - ] - // "traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm", - port = "http" - meta { - ALLOC = "${NOMAD_ALLOC_ID}" - } - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } #end gonic - - task "init-manual" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","--exclude=Backups","/configbackup/","/config/","--delete-before"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - - task "finalsync-manual" { - driver = "docker" - lifecycle { - hook = "poststop" - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","/config/","/configbackup/"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - task "db-sync" { - driver = "docker" - lifecycle { - hook = "poststart" - sidecar = true - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - volumes = [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - ] - - // args = ["/usr/local/bin/litestream", "replicate", "-config","/local/litestream.yml"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - template { - data = <Local Services - HTTP/HTTPS

- - - - - - - {{range services}} - {{range $i, $s :=service .Name}} - {{ if eq $i 0 }} - - - - - - - {{end}} - {{end}} - {{end}} -
Service NameTraefikDirect
{{.Name}}{{.Name}}.service.dc1.consul{{ if eq .Name "unifi" }}https{{else}}http{{end}}://{{.Name}}.service.dc1.consul:{{.Port}}
-

- Node Environment Information:
- node_id: {{ env "node.unique.id" }}
- datacenter: {{ env "NOMAD_DC" }} -

- EOH - - destination = "local/data/index.html" - change_mode = "noop" - } - - resources { - cpu = 100 # 100 MHz - memory = 64 # 128 MB - } - service { - name = "nginx" - tags = ["nginx", "web", "urlprefix-/nginx", "backend"] - port = "http" - - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } - - network { - port "http" { - to = 8080 - } - - // port "https" { - // to = 443 - // } - } - } -} diff --git a/nomad_backup/20251115_142628/nzbget.hcl b/nomad_backup/20251115_142628/nzbget.hcl deleted file mode 100644 index 0ac7b66..0000000 --- a/nomad_backup/20251115_142628/nzbget.hcl +++ /dev/null @@ -1,305 +0,0 @@ -job "nzbget" { - # region = "global" - datacenters = ["dc1"] - type = "service" - - # priority = 50 - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.unique.hostname}" - operator = "regexp" - value = "odroid.*" - } - update { - # Stagger updates every 60 seconds - stagger = "90s" - max_parallel = 1 - healthy_deadline = "5m" - } - group "nzbget" { - count = 1 - - restart { - attempts = 8 - interval = "20m" - delay = "10s" - mode = "delay" - } - - // task "init-trigger" { - // driver = "docker" - - // lifecycle { - // hook = "prestart" - // } - - // config { - // image = "curlimages/curl" - // args = ["--request", "PUT", "--data", "${NOMAD_ALLOC_ID}", "http://${attr.unique.network.ip-address}:8500/v1/kv/${NOMAD_GROUP_NAME}"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // } - - - task "ovpn-client" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - image = "qmcgaw/gluetun" - memory_hard_limit = "1024" - - ports = [ - "shadowsocks", - "nzbget", - "http_proxy", - "http_admin", - "sabnzb_admin", - "socks", - ] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - // VPNFLAGS = "us --max-load 70 --top-servers 10 --pings 5" - // VPNFLAGS = "nl --max-load 70 --top-servers 10 --pings 5" - // VPNSP = "nordvpn" - // OPENVPN_USER = "yvPLaZ3xkXtnJKsyXDNQf9Ft" - // OPENVPN_PASSWORD = "SW8XvhGkSVuQitjuFrbH9WPA" - // REGION = "Netherlands" - ##Mullvad - VPNSP = "mullvad" - VPN_TYPE = "wireguard" - COUNTRY = "Canada" - CITY = "Toronto" - FIREWALL_VPN_INPUT_PORTS = "56987" - WIREGUARD_PRIVATE_KEY = "2FHwQX1jxk+qeMmXUtSGRc2kKF1WHeSCyIgHNW+7akA=" #ActiveLynx - WIREGUARD_ADDRESS = "10.66.246.4/32" - - - - HTTPPROXY = "on" - UPDATER_PERIOD= "24h" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "off" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - } - - service { - name = "${TASKGROUP}-admin" - tags = ["global", "ovpn-openpyn"] - port = "http_admin" - } - - service { - name = "${TASKGROUP}" - tags = ["global", "ovpn-openpyn"] - port = "shadowsocks" - } - - service { - name = "nzbget" - tags = ["global", "ovpn-openpyn"] - port = "nzbget" - } - service { - name = "sabnzb" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.247/32", - "gocast_nat=tcp:8080:8080", - "gocast_nat=udp:8080:8080",] - port = "sabnzb_admin" - } -service { - name = "socks-nord" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.243/32", - "gocast_nat=tcp:1080:1080", - "gocast_nat=udp:1080:1080",] - port = "socks" - - } - - - resources { - cpu = 100 # 500 MHz - memory = 100 # 128MB - } - } #task ovpn - - - task "dante" { - driver = "docker" - - config { - image = "serjs/go-socks5-proxy" - // image = "ghcr.io/sstent/dante:latest" - network_mode = "container:ovpn-client-${NOMAD_ALLOC_ID}" - memory_hard_limit = 256 - - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - env { - REQUIRE_AUTH = "false" - } - - - resources { - cpu = 64 # 500 MHz - memory = 128 # 128MB - } - } - ###################################################################### - ###################################################################### - ###################################################################### - - task "init" { - driver = "docker" - - lifecycle { - hook = "prestart" - sidecar = false - } - - 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"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end init task - task "finalsync" { - driver = "docker" - - lifecycle { - hook = "poststop" - } - - config { - // image = "pebalk/rsync" - 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", "/config/", "/configbackup/"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end finalsync task - // task "sync" { - // driver = "docker" - - // lifecycle { - // hook = "poststart" - // sidecar = true - // } - - // config { - // image = "ghcr.io/sstent/rsync:v0.3.5" - // memory_hard_limit = "2048" - - // volumes = [ - // "/mnt/configs/:/configs", - // "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - // ] - - // args = ["client"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // env { - // CRON_TASK_1 = "*/20 8-20 * * * chmod a-w /configs/${NOMAD_GROUP_NAME}/ ; rsync -avz /configs/${NOMAD_GROUP_NAME}/ /configbackup/; chmod a+w /configs/${NOMAD_GROUP_NAME}/;" - // } - // } #end sync task - - ###################################################################### - ###################################################################### - ###################################################################### - - network { - port "shadowsocks" { - static = "8338" - to = "8388" - } - - port "http_proxy" { - static = "8888" - to = "8888" - } - port "http_admin" { - static = "8000" - to = "8000" - } - - port "sabnzb_admin" { - static = "8080" - to = "8080" - } - - - port "socks" { - static = "1080" - to = "1080" - } - port "nzbget" { - static = "6789" - to = "6789" - } - } - } -} diff --git a/nomad_backup/20251115_142628/postgres-15.hcl b/nomad_backup/20251115_142628/postgres-15.hcl deleted file mode 100644 index 86ee7d7..0000000 --- a/nomad_backup/20251115_142628/postgres-15.hcl +++ /dev/null @@ -1,116 +0,0 @@ -job "postgres-15" { - type = "system" - datacenters = ["dc1"] - - group "group" { - count = 1 - - network { - - port api { - static = 8008 - to = 8008 - } - port pg { - static = 5432 - to = 5432 - } - } - - task "db" { - driver = "docker" - - template { - data = <\K.8-20 * * *?(?=<.8-20 * * *?>)' /config/config.xml) - // // curl -f "http://localhost:9696/api/v1/system/status?apikey=$API" - // } - } - template { - data = <\K.*?(?=<.*?>)' /config/config.xml)" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 10 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 9696 - to = 9696 - } - port "http_flare" { - static = 8191 - to = 8191 - } - } - } -} diff --git a/nomad_backup/20251115_142628/qautomate.hcl b/nomad_backup/20251115_142628/qautomate.hcl deleted file mode 100644 index b7ea82e..0000000 --- a/nomad_backup/20251115_142628/qautomate.hcl +++ /dev/null @@ -1,59 +0,0 @@ -job "qautomate" { - periodic { - cron = "*/30 * * * *" - prohibit_overlap = true - } - datacenters = ["dc1"] - - type = "batch" - - group "app" { - count = 1 - - task "setup" { - driver = "docker" - - lifecycle { - hook = "prestart" - } - - config { - image = "ghcr.io/sstent/ubuntu-python3" - // command = "/bin/bash" - args = ["-v","-c", "/local/prestart.sh"] - - } - - template { - data = < -Info -7878 - -* -9898 -False -237c27f22504440385e5ee295fd65eb5 -Forms -master - -True - -Docker -False -Radarr -DisabledForLocalAddresses -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - - service { - name = "${TASKGROUP}" - tags = ["radarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "5m" - timeout = "25s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - } - - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - - // network { - // port "radarr" { - // static = "7878" - // } - // } - } - - logs { - max_files = 10 - max_file_size = 15 - } - - kill_timeout = "10s" - } #Task - - network { - // mode = "bridge" - port "http" { - static = 7878 - to = 7878 - } - } - } #Group -} diff --git a/nomad_backup/20251115_142628/slskd.hcl b/nomad_backup/20251115_142628/slskd.hcl deleted file mode 100644 index 0794503..0000000 --- a/nomad_backup/20251115_142628/slskd.hcl +++ /dev/null @@ -1,149 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "slskd" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } -constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - - group "slskd" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - -task "slskd-vpn" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - // image = "qmcgaw/gluetun" - image = "qmcgaw/gluetun" - - memory_hard_limit = "1024" - ports = ["http","https","guac"] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - "/mnt/syncthing/mullvad:/vpn", - - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - VPN_SERVICE_PROVIDER="airvpn" - VPN_TYPE="wireguard" - WIREGUARD_PRIVATE_KEY="SPpgnVCsOnz+zzorzTiOmvDF8GElgp27dSIeYAq43Vk=" - WIREGUARD_PRESHARED_KEY="TBb2gU8pSTSG6lT4QYr7pzNWN7wZEn0yeG4VDTtuy50=" - WIREGUARD_ADDRESSES="10.186.222.247/32" - SERVER_COUNTRIES="Canada" - SERVER_CITIES="Montreal" - FIREWALL_VPN_INPUT_PORTS = "53304" - HEALTH_TARGET_ADDRESS="1.1.1.1" - HEALTH_SUCCESS_WAIT_DURATION="30s" - HEALTH_VPN_DURATION_INITIAL="3600s" - HEALTH_VPN_DURATION_ADDITION="600s" - // HEALTH_TARGET_ADDRESS="cloudflare.com:443" - - - ##Mullvad - #VPNSP = "mullvad" - #VPN_TYPE = "wireguard" - #COUNTRY = "Canada" - #CITY = "Toronto" - #FIREWALL_VPN_INPUT_PORTS = "56987" - #WIREGUARD_PRIVATE_KEY = "iA64ImY2XNvml7s+HEHWNNGXeqpzFN0/KYGxhCsHLV8=" - #WIREGUARD_ADDRESS = "10.64.141.217/32" - HTTPPROXY = "on" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "on" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - WEBUI_PORT=8080 - } - - - resources { - cpu = 100 # 500 MHz - memory = 250 # 128MB - } - } #task ovpn - - task "nicotine" { - driver = "docker" - - config { - image = "ghcr.io/fletchto99/nicotine-plus-docker:latest" - memory_hard_limit = "1024" - - network_mode = "container:slskd-vpn-${NOMAD_ALLOC_ID}" - - volumes = [ - "/mnt/Public/Downloads/news/slskd/config:/config", - "/mnt/Public/Downloads/news/slskd/shared:/shared", - "/mnt/Public/Downloads/news/slskd/downloads/:/downloads", - "/mnt/Public/Downloads/news/slskd/incomplete/:/incomplete", - ] - } - env { - PUID=1000 - PGID=1000 - TZ="Etc/UTC" - LISTENING_PORT="53304" - } - } - - - network { - // mbits = 100 - - port "http" { - static = 5000 - to = 5000 - } - port "https" { - static = 5001 - to = 5001 - } - port "guac" { - static = 6080 - to = 6080 - } - } - } -} diff --git a/nomad_backup/20251115_142628/sonarr.hcl b/nomad_backup/20251115_142628/sonarr.hcl deleted file mode 100644 index b2fa4a3..0000000 --- a/nomad_backup/20251115_142628/sonarr.hcl +++ /dev/null @@ -1,158 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "sonarr" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - group "sonarr" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - - task "sonarr" { - // driver = "raw_exec" // config { // command = "docker" // args = ["run", // "--rm", // "--name=sonarr", // "-e", "PUID=1000", // "-e", "PGID=1000", // "-e", "TZ=EST5EDT", // "-p", "8989:8989", // "-v", "/mnt/syncthing/sonarrv3:/config", // "-v", "/mnt/Public/Downloads/tv:/tv", // "-v", "/mnt/Public/Downloads/news:/downloads", // "--cpuset-cpus","4-7", // "linuxserver/sonarr:preview"] // } - - driver = "docker" - - config { - image = "linuxserver/sonarr:develop" - - ports = ["http"] - - // dns_servers = ["192.168.1.1", "1.1.1.1"] - memory_hard_limit = "2048" - // cpuset_cpus = "4-7" - - volumes = [ - "/mnt/Public/Downloads/news:/downloads", - "/mnt/Public/Downloads/tv:/tv", - // "/mnt/configs/sonarr:/config", - "/mnt/Public/configs/sonarr_pg:/config", - // "local/config.xml:/config/config.xml" - ] - - // "/mnt/gv0/sonarr:/config", - force_pull = false - } - - service { - name = "${TASKGROUP}" - tags = ["sonarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "60s" - timeout = "5s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - template { - data = "---\nkey: {{ key \"ovpn-client\" }}" - destination = "local/file.yml" - change_mode = "restart" - } - template { - data = < -Info -8989 -/sonarr -* -9898 -False -1632787062fb47a9a6eb4c88e32b3ff3 -None -develop -True - -Docker -False -/config/restart.sh -Sonarr -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 12 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 8989 - to = 8989 - } - } - } -} diff --git a/nomad_backup/20251115_142628/traefik.hcl b/nomad_backup/20251115_142628/traefik.hcl deleted file mode 100644 index 7dc2f1d..0000000 --- a/nomad_backup/20251115_142628/traefik.hcl +++ /dev/null @@ -1,218 +0,0 @@ -job "traefik" { - datacenters = ["dc1"] - type = "system" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - - update { - stagger = "10s" - max_parallel = 1 - healthy_deadline = "5m" - } - - group "traefik" { - count = 1 - - restart { - attempts = 6 - interval = "1m" - delay = "10s" - mode = "delay" - } - - task "traefik" { - driver = "docker" - - config { - image = "traefik:2.9" - // network_mode = "host" - - args = [ - // "--api.dashboard", - // "--providers.consulcatalog.defaultRule=Host(`{{ .Name }}.service.dc1.consul`)", - // "--providers.consulcatalog.endpoint.address=${attr.unique.network.ip-address}:8500", - // "--providers.consulcatalog.exposedbydefault=true", - // "--metrics=true", - // "--metrics.prometheus=true", - // "--metrics.prometheus.entryPoint=web", - // "--entryPoints.web.address=:80", - // "--entryPoints.websecure.address=:443", - // "--entryPoints.openvpn.address=:1194/udp", - "--configFile=/local/file.yml", - // "--certificatesresolvers.myresolver.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver-int.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver-int.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge.provider=duckdns", - "--accesslog=true", - // "--serversTransport.insecureSkipVerify=true", - ] - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock", - "/mnt/mnt/configs/letsencrypt:/acmecert/", - ] - - dns_servers = ["192.168.1.1", "192.168.1.250"] - ports = ["traefik", "traefikhttps","traefikui"] - - memory_hard_limit = 2048 - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - DUCKDNS_TOKEN="e4b5ca33-1f4d-494b-b06d-6dd4600df662" - } - - template { - left_delimiter = "[[" - right_delimiter = "]]" - - data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - - resources { - cpu = 100 - memory = 128 - } - } - - # PHP-FPM container - task "php-fpm" { - driver = "docker" - - config { - image = "php:8.2-fpm-alpine" - network_mode = "container:nginx-${NOMAD_ALLOC_ID}" - - volumes = [ - "local/app:/var/www/html", - "local/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf", - ] - } - - template { - data = < [ - "header" => "User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", - ] -]); -if (($data = @file_get_contents($url, false, $context)) === false) { - $error = error_get_last(); - http_response_code(500); - print "HTTP request failed: " . $error['message']; - exit; -} -header('Content-Type: text/calendar; charset=utf-8'); -print $data; -?> -EOF - destination = "local/app/ics.php" - } - - resources { - cpu = 200 - memory = 256 - } - } - - # Restart policy - restart { - attempts = 3 - interval = "5m" - delay = "25s" - mode = "fail" - } - - # Update strategy - update { - max_parallel = 1 - min_healthy_time = "10s" - healthy_deadline = "3m" - auto_revert = true - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_143630/democratic-csi-local.hcl b/nomad_backup/20251115_143630/democratic-csi-local.hcl deleted file mode 100644 index 1fc4018..0000000 --- a/nomad_backup/20251115_143630/democratic-csi-local.hcl +++ /dev/null @@ -1,105 +0,0 @@ -job "democratic-csi-local" { - datacenters = ["dc1"] - type = "system" - - group "controller" { - count = 1 - - task "controller" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=controller", - "--server-socket=/csi/csi.sock", - ] - - volumes = [ - "local/config:/config:ro" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "controller" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } - - group "nodes" { - task "node" { - driver = "docker" - - config { - image = "democraticcsi/democratic-csi:latest" - - args = [ - "--csi-version=1.5.0", - "--csi-name=org.democratic-csi.local-hostpath", - "--driver-config-file=/config/driver-config-file.yaml", - "--log-level=info", - "--csi-mode=node", - "--server-socket=/csi/csi.sock", - ] - - privileged = true - - volumes = [ - "local/config:/config:ro", - "/tmp/democratic-csi-local-hostpath:/tmp/democratic-csi-local-hostpath:rshared" - ] - } - - template { - data = <<-EOH -driver: local-hostpath -instance_id: {{ env "node.unique.id" }} -local-hostpath: - shareBasePath: "/tmp/democratic-csi-local-hostpath" - controllerBasePath: "/tmp/democratic-csi-local-hostpath" - dirPermissionsMode: "0755" - dirPermissionsUser: 0 - dirPermissionsGroup: 0 -EOH - destination = "local/config/driver-config-file.yaml" - } - - csi_plugin { - id = "org.democratic-csi.local-hostpath" - type = "node" - mount_dir = "/csi" - } - - resources { - cpu = 256 - memory = 128 - } - } - } -} diff --git a/nomad_backup/20251115_143630/foodplanner.hcl b/nomad_backup/20251115_143630/foodplanner.hcl deleted file mode 100644 index 8f15b81..0000000 --- a/nomad_backup/20251115_143630/foodplanner.hcl +++ /dev/null @@ -1,99 +0,0 @@ -job "foodplanner" { - datacenters = ["dc1"] - - type = "service" - - group "app" { - count = 1 - - network { - port "http" { - to = 8999 - } - } - - service { - name = "foodplanner" - port = "http" - - check { - type = "http" - path = "/" - interval = "10s" - timeout = "2s" - } - } - - # Prestart restore task - task "restore" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - # image = "litestream/litestream:latest" - image = "litestream/litestream:0.3" - args = [ - "restore", - # "-if-replica-exists", - #"-if-db-not-exists", - "-o", "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - volumes = [ - "/opt/nomad/data:/data" - ] - } - } - - task "app" { - driver = "docker" - - config { - image = "ghcr.io/sstent/foodplanner:main" - ports = ["http"] - - # Mount the SQLite database file to persist data - # Adjust the source path as needed for your environment - volumes = [ - "/mnt/Public/configs/FoodPlanner_backups:/app/backups/", - ] - } - env { - DATABASE_PATH = "/alloc/tmp" - DATABASE_URL = "sqlite:////alloc/tmp/meal_planner.db" - } - resources { - cpu = 500 - memory = 1024 - } - - # Restart policy - restart { - attempts = 3 - interval = "10m" - delay = "15s" - mode = "fail" - } - } - - # Litestream sidecar for continuous replication - task "litestream" { - driver = "docker" - lifecycle { - hook = "poststart" # runs after main task starts - sidecar = true - } - config { - # image = "litestream/litestream:0.5.0-test.10" - image = "litestream/litestream:0.3" - args = [ - "replicate", - "/alloc/tmp/meal_planner.db", - "sftp://root:odroid@192.168.4.63/mnt/Shares/litestream/foodplanner.db" - ] - } - } - } -} \ No newline at end of file diff --git a/nomad_backup/20251115_143630/gonic.hcl b/nomad_backup/20251115_143630/gonic.hcl deleted file mode 100644 index d45a4e0..0000000 --- a/nomad_backup/20251115_143630/gonic.hcl +++ /dev/null @@ -1,151 +0,0 @@ -job "gonic" { - datacenters = ["dc1"] - type = "service" - - - - group "gonic" { - count = 1 - task "gonic" { - driver = "docker" - config { - image = "sentriz/gonic" - port_map { - http = 80 - } - volumes = [ - "/mnt/configs/gonic/data:/data", - "/mnt/configs/gonic/cache:/cache", - "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", - "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", - "/mnt/Public/Downloads/podcasts:/podcasts", - "/mnt/Public/Downloads/musicplaylists:/musicplaylists", - - ] - } - env{ - GONIC_SCAN_INTERVAL = "120" - GONIC_MUSIC_PATH = "/music" - GONIC_PODCAST_PATH = "/podcasts" - GONIC_PLAYLISTS_PATH = "/musicplaylists" - } - resources { - cpu = 100 # 100 MHz - memory = 256 # 128 MB - network { - port "http" { - static = "4747" - } - } - } - service { - name = "gonic" - tags = [ - "gonic", - "web", - "urlprefix-/gonic", - "backend", - "traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)", - "traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)", - "traefik.http.routers.gonicwan.tls=true", - "traefik.http.routers.gonicwan.tls.certresolver=myresolver" - - ] - // "traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm", - port = "http" - meta { - ALLOC = "${NOMAD_ALLOC_ID}" - } - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } #end gonic - - task "init-manual" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","--exclude=Backups","/configbackup/","/config/","--delete-before"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - - task "finalsync-manual" { - driver = "docker" - lifecycle { - hook = "poststop" - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - 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","-av","/config/","/configbackup/"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } - - task "db-sync" { - driver = "docker" - lifecycle { - hook = "poststart" - sidecar = true - } - config { - memory_hard_limit = "2048" - - image = "ghcr.io/sstent/rsync" - volumes = [ - "/mnt/configs/${NOMAD_GROUP_NAME}:/config", - "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - ] - - // args = ["/usr/local/bin/litestream", "replicate", "-config","/local/litestream.yml"] - } - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - template { - data = <Local Services - HTTP/HTTPS

- - - - - - - {{range services}} - {{range $i, $s :=service .Name}} - {{ if eq $i 0 }} - - - - - - - {{end}} - {{end}} - {{end}} -
Service NameTraefikDirect
{{.Name}}{{.Name}}.service.dc1.consul{{ if eq .Name "unifi" }}https{{else}}http{{end}}://{{.Name}}.service.dc1.consul:{{.Port}}
-

- Node Environment Information:
- node_id: {{ env "node.unique.id" }}
- datacenter: {{ env "NOMAD_DC" }} -

- EOH - - destination = "local/data/index.html" - change_mode = "noop" - } - - resources { - cpu = 100 # 100 MHz - memory = 64 # 128 MB - } - service { - name = "nginx" - tags = ["nginx", "web", "urlprefix-/nginx", "backend"] - port = "http" - - check { - type = "tcp" - interval = "10s" - timeout = "2s" - } - } - } - - network { - port "http" { - to = 8080 - } - - // port "https" { - // to = 443 - // } - } - } -} diff --git a/nomad_backup/20251115_143630/nzbget.hcl b/nomad_backup/20251115_143630/nzbget.hcl deleted file mode 100644 index 0ac7b66..0000000 --- a/nomad_backup/20251115_143630/nzbget.hcl +++ /dev/null @@ -1,305 +0,0 @@ -job "nzbget" { - # region = "global" - datacenters = ["dc1"] - type = "service" - - # priority = 50 - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.unique.hostname}" - operator = "regexp" - value = "odroid.*" - } - update { - # Stagger updates every 60 seconds - stagger = "90s" - max_parallel = 1 - healthy_deadline = "5m" - } - group "nzbget" { - count = 1 - - restart { - attempts = 8 - interval = "20m" - delay = "10s" - mode = "delay" - } - - // task "init-trigger" { - // driver = "docker" - - // lifecycle { - // hook = "prestart" - // } - - // config { - // image = "curlimages/curl" - // args = ["--request", "PUT", "--data", "${NOMAD_ALLOC_ID}", "http://${attr.unique.network.ip-address}:8500/v1/kv/${NOMAD_GROUP_NAME}"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // } - - - task "ovpn-client" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - image = "qmcgaw/gluetun" - memory_hard_limit = "1024" - - ports = [ - "shadowsocks", - "nzbget", - "http_proxy", - "http_admin", - "sabnzb_admin", - "socks", - ] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - // VPNFLAGS = "us --max-load 70 --top-servers 10 --pings 5" - // VPNFLAGS = "nl --max-load 70 --top-servers 10 --pings 5" - // VPNSP = "nordvpn" - // OPENVPN_USER = "yvPLaZ3xkXtnJKsyXDNQf9Ft" - // OPENVPN_PASSWORD = "SW8XvhGkSVuQitjuFrbH9WPA" - // REGION = "Netherlands" - ##Mullvad - VPNSP = "mullvad" - VPN_TYPE = "wireguard" - COUNTRY = "Canada" - CITY = "Toronto" - FIREWALL_VPN_INPUT_PORTS = "56987" - WIREGUARD_PRIVATE_KEY = "2FHwQX1jxk+qeMmXUtSGRc2kKF1WHeSCyIgHNW+7akA=" #ActiveLynx - WIREGUARD_ADDRESS = "10.66.246.4/32" - - - - HTTPPROXY = "on" - UPDATER_PERIOD= "24h" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "off" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - } - - service { - name = "${TASKGROUP}-admin" - tags = ["global", "ovpn-openpyn"] - port = "http_admin" - } - - service { - name = "${TASKGROUP}" - tags = ["global", "ovpn-openpyn"] - port = "shadowsocks" - } - - service { - name = "nzbget" - tags = ["global", "ovpn-openpyn"] - port = "nzbget" - } - service { - name = "sabnzb" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.247/32", - "gocast_nat=tcp:8080:8080", - "gocast_nat=udp:8080:8080",] - port = "sabnzb_admin" - } -service { - name = "socks-nord" - tags = ["global", "ovpn-openpyn", "enable_gocast", - "gocast_vip=192.168.1.243/32", - "gocast_nat=tcp:1080:1080", - "gocast_nat=udp:1080:1080",] - port = "socks" - - } - - - resources { - cpu = 100 # 500 MHz - memory = 100 # 128MB - } - } #task ovpn - - - task "dante" { - driver = "docker" - - config { - image = "serjs/go-socks5-proxy" - // image = "ghcr.io/sstent/dante:latest" - network_mode = "container:ovpn-client-${NOMAD_ALLOC_ID}" - memory_hard_limit = 256 - - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - env { - REQUIRE_AUTH = "false" - } - - - resources { - cpu = 64 # 500 MHz - memory = 128 # 128MB - } - } - ###################################################################### - ###################################################################### - ###################################################################### - - task "init" { - driver = "docker" - - lifecycle { - hook = "prestart" - sidecar = false - } - - 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"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end init task - task "finalsync" { - driver = "docker" - - lifecycle { - hook = "poststop" - } - - config { - // image = "pebalk/rsync" - 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", "/config/", "/configbackup/"] - } - - resources { - cpu = 20 # 500 MHz - memory = 20 # 128MB - } - } #end finalsync task - // task "sync" { - // driver = "docker" - - // lifecycle { - // hook = "poststart" - // sidecar = true - // } - - // config { - // image = "ghcr.io/sstent/rsync:v0.3.5" - // memory_hard_limit = "2048" - - // volumes = [ - // "/mnt/configs/:/configs", - // "/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup", - // ] - - // args = ["client"] - // } - // resources { - // cpu = 20 # 500 MHz - // memory = 20 # 128MB - // } - // env { - // CRON_TASK_1 = "*/20 8-20 * * * chmod a-w /configs/${NOMAD_GROUP_NAME}/ ; rsync -avz /configs/${NOMAD_GROUP_NAME}/ /configbackup/; chmod a+w /configs/${NOMAD_GROUP_NAME}/;" - // } - // } #end sync task - - ###################################################################### - ###################################################################### - ###################################################################### - - network { - port "shadowsocks" { - static = "8338" - to = "8388" - } - - port "http_proxy" { - static = "8888" - to = "8888" - } - port "http_admin" { - static = "8000" - to = "8000" - } - - port "sabnzb_admin" { - static = "8080" - to = "8080" - } - - - port "socks" { - static = "1080" - to = "1080" - } - port "nzbget" { - static = "6789" - to = "6789" - } - } - } -} diff --git a/nomad_backup/20251115_143630/postgres-15.hcl b/nomad_backup/20251115_143630/postgres-15.hcl deleted file mode 100644 index 86ee7d7..0000000 --- a/nomad_backup/20251115_143630/postgres-15.hcl +++ /dev/null @@ -1,116 +0,0 @@ -job "postgres-15" { - type = "system" - datacenters = ["dc1"] - - group "group" { - count = 1 - - network { - - port api { - static = 8008 - to = 8008 - } - port pg { - static = 5432 - to = 5432 - } - } - - task "db" { - driver = "docker" - - template { - data = <\K.8-20 * * *?(?=<.8-20 * * *?>)' /config/config.xml) - // // curl -f "http://localhost:9696/api/v1/system/status?apikey=$API" - // } - } - template { - data = <\K.*?(?=<.*?>)' /config/config.xml)" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 10 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 9696 - to = 9696 - } - port "http_flare" { - static = 8191 - to = 8191 - } - } - } -} diff --git a/nomad_backup/20251115_143630/qautomate.hcl b/nomad_backup/20251115_143630/qautomate.hcl deleted file mode 100644 index b7ea82e..0000000 --- a/nomad_backup/20251115_143630/qautomate.hcl +++ /dev/null @@ -1,59 +0,0 @@ -job "qautomate" { - periodic { - cron = "*/30 * * * *" - prohibit_overlap = true - } - datacenters = ["dc1"] - - type = "batch" - - group "app" { - count = 1 - - task "setup" { - driver = "docker" - - lifecycle { - hook = "prestart" - } - - config { - image = "ghcr.io/sstent/ubuntu-python3" - // command = "/bin/bash" - args = ["-v","-c", "/local/prestart.sh"] - - } - - template { - data = < -Info -7878 - -* -9898 -False -237c27f22504440385e5ee295fd65eb5 -Forms -master - -True - -Docker -False -Radarr -DisabledForLocalAddresses -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - - service { - name = "${TASKGROUP}" - tags = ["radarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "5m" - timeout = "25s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - } - - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - - // network { - // port "radarr" { - // static = "7878" - // } - // } - } - - logs { - max_files = 10 - max_file_size = 15 - } - - kill_timeout = "10s" - } #Task - - network { - // mode = "bridge" - port "http" { - static = 7878 - to = 7878 - } - } - } #Group -} diff --git a/nomad_backup/20251115_143630/slskd.hcl b/nomad_backup/20251115_143630/slskd.hcl deleted file mode 100644 index 0794503..0000000 --- a/nomad_backup/20251115_143630/slskd.hcl +++ /dev/null @@ -1,149 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "slskd" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } -constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - - group "slskd" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - -task "slskd-vpn" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = true - } - - config { - // image = "registry.service.dc1.consul:5000/openpyn:latest" - // image = "qmcgaw/gluetun" - image = "qmcgaw/gluetun" - - memory_hard_limit = "1024" - ports = ["http","https","guac"] - - cap_add = [ - "NET_ADMIN", - "NET_BIND_SERVICE", - ] - - #network_mode = "host" - #network_mode = "vpn" - - volumes = [ - "/etc/localtime:/etc/localtime", - "/mnt/syncthing/mullvad:/vpn", - - ] - devices = [ - { - host_path = "/dev/net/tun" - container_path = "/dev/net/tun" - }, - ] - } - - env { - VPN_SERVICE_PROVIDER="airvpn" - VPN_TYPE="wireguard" - WIREGUARD_PRIVATE_KEY="SPpgnVCsOnz+zzorzTiOmvDF8GElgp27dSIeYAq43Vk=" - WIREGUARD_PRESHARED_KEY="TBb2gU8pSTSG6lT4QYr7pzNWN7wZEn0yeG4VDTtuy50=" - WIREGUARD_ADDRESSES="10.186.222.247/32" - SERVER_COUNTRIES="Canada" - SERVER_CITIES="Montreal" - FIREWALL_VPN_INPUT_PORTS = "53304" - HEALTH_TARGET_ADDRESS="1.1.1.1" - HEALTH_SUCCESS_WAIT_DURATION="30s" - HEALTH_VPN_DURATION_INITIAL="3600s" - HEALTH_VPN_DURATION_ADDITION="600s" - // HEALTH_TARGET_ADDRESS="cloudflare.com:443" - - - ##Mullvad - #VPNSP = "mullvad" - #VPN_TYPE = "wireguard" - #COUNTRY = "Canada" - #CITY = "Toronto" - #FIREWALL_VPN_INPUT_PORTS = "56987" - #WIREGUARD_PRIVATE_KEY = "iA64ImY2XNvml7s+HEHWNNGXeqpzFN0/KYGxhCsHLV8=" - #WIREGUARD_ADDRESS = "10.64.141.217/32" - HTTPPROXY = "on" - SHADOWSOCKS_PASSWORD = "farscape5" - SHADOWSOCKS = "on" - DOT_PROVIDERS = "cloudflare,google,quad9,quadrant" - DOT = "off" - WEBUI_PORT=8080 - } - - - resources { - cpu = 100 # 500 MHz - memory = 250 # 128MB - } - } #task ovpn - - task "nicotine" { - driver = "docker" - - config { - image = "ghcr.io/fletchto99/nicotine-plus-docker:latest" - memory_hard_limit = "1024" - - network_mode = "container:slskd-vpn-${NOMAD_ALLOC_ID}" - - volumes = [ - "/mnt/Public/Downloads/news/slskd/config:/config", - "/mnt/Public/Downloads/news/slskd/shared:/shared", - "/mnt/Public/Downloads/news/slskd/downloads/:/downloads", - "/mnt/Public/Downloads/news/slskd/incomplete/:/incomplete", - ] - } - env { - PUID=1000 - PGID=1000 - TZ="Etc/UTC" - LISTENING_PORT="53304" - } - } - - - network { - // mbits = 100 - - port "http" { - static = 5000 - to = 5000 - } - port "https" { - static = 5001 - to = 5001 - } - port "guac" { - static = 6080 - to = 6080 - } - } - } -} diff --git a/nomad_backup/20251115_143630/sonarr.hcl b/nomad_backup/20251115_143630/sonarr.hcl deleted file mode 100644 index b2fa4a3..0000000 --- a/nomad_backup/20251115_143630/sonarr.hcl +++ /dev/null @@ -1,158 +0,0 @@ -# There can only be a single job definition per file. -# Create a job with ID and Name 'example' -job "sonarr" { - datacenters = ["dc1"] - type = "service" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - constraint { - attribute = "${attr.cpu.arch}" - operator = "regexp" - value = "amd64" - } - - update { - stagger = "10s" - max_parallel = 1 - } - group "sonarr" { - count = 1 - - restart { - attempts = 2 - interval = "1m" - delay = "10s" - mode = "fail" - } - - task "sonarr" { - // driver = "raw_exec" // config { // command = "docker" // args = ["run", // "--rm", // "--name=sonarr", // "-e", "PUID=1000", // "-e", "PGID=1000", // "-e", "TZ=EST5EDT", // "-p", "8989:8989", // "-v", "/mnt/syncthing/sonarrv3:/config", // "-v", "/mnt/Public/Downloads/tv:/tv", // "-v", "/mnt/Public/Downloads/news:/downloads", // "--cpuset-cpus","4-7", // "linuxserver/sonarr:preview"] // } - - driver = "docker" - - config { - image = "linuxserver/sonarr:develop" - - ports = ["http"] - - // dns_servers = ["192.168.1.1", "1.1.1.1"] - memory_hard_limit = "2048" - // cpuset_cpus = "4-7" - - volumes = [ - "/mnt/Public/Downloads/news:/downloads", - "/mnt/Public/Downloads/tv:/tv", - // "/mnt/configs/sonarr:/config", - "/mnt/Public/configs/sonarr_pg:/config", - // "local/config.xml:/config/config.xml" - ] - - // "/mnt/gv0/sonarr:/config", - force_pull = false - } - - service { - name = "${TASKGROUP}" - tags = ["sonarr", "tools"] - port = "http" - - check { - type = "script" - name = "check_up" - command = "/local/healthcheck.sh" - interval = "60s" - timeout = "5s" - - check_restart { - limit = 3 - grace = "90s" - ignore_warnings = false - } - } - } - template { - data = <(.*)' /config/config.xml | sed -e 's/<[^>]*>//g')" - EOH - - destination = "local/healthcheck.sh" - perms = "0755" - } - - template { - data = "---\nkey: {{ key \"ovpn-client\" }}" - destination = "local/file.yml" - change_mode = "restart" - } - template { - data = < -Info -8989 -/sonarr -* -9898 -False -1632787062fb47a9a6eb4c88e32b3ff3 -None -develop -True - -Docker -False -/config/restart.sh -Sonarr -postgres -postgres -5432 -master.postgres.service.dc1.consul - - EOH - - destination = "local/config.xml" - perms = "0755" - } - env { - // SHARE = "Public;/mount/Public;yes;no;yes;all;none;;Public" - # GLOBAL = "socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536" - # PERMISSIONS = "true" - # WORKGROUP = "WORKGROUP" - TZ = "EST5EDT" - - PUID = 1000 - PGID = 1000 - } - - # We must specify the resources required for - # this task to ensure it runs on a machine with - # enough capacity. - resources { - cpu = 500 # 500 MHz - memory = 256 # 128MB - } - - # Specify configuration related to log rotation - logs { - max_files = 12 - max_file_size = 15 - } - - # Controls the timeout between signalling a task it will be killed - # and killing the task. If not set a default is used. - kill_timeout = "10s" - } #End main task - - network { - // mbits = 100 - - port "http" { - static = 8989 - to = 8989 - } - } - } -} diff --git a/nomad_backup/20251115_143630/traefik.hcl b/nomad_backup/20251115_143630/traefik.hcl deleted file mode 100644 index 7dc2f1d..0000000 --- a/nomad_backup/20251115_143630/traefik.hcl +++ /dev/null @@ -1,218 +0,0 @@ -job "traefik" { - datacenters = ["dc1"] - type = "system" - - constraint { - attribute = "${attr.kernel.name}" - value = "linux" - } - - update { - stagger = "10s" - max_parallel = 1 - healthy_deadline = "5m" - } - - group "traefik" { - count = 1 - - restart { - attempts = 6 - interval = "1m" - delay = "10s" - mode = "delay" - } - - task "traefik" { - driver = "docker" - - config { - image = "traefik:2.9" - // network_mode = "host" - - args = [ - // "--api.dashboard", - // "--providers.consulcatalog.defaultRule=Host(`{{ .Name }}.service.dc1.consul`)", - // "--providers.consulcatalog.endpoint.address=${attr.unique.network.ip-address}:8500", - // "--providers.consulcatalog.exposedbydefault=true", - // "--metrics=true", - // "--metrics.prometheus=true", - // "--metrics.prometheus.entryPoint=web", - // "--entryPoints.web.address=:80", - // "--entryPoints.websecure.address=:443", - // "--entryPoints.openvpn.address=:1194/udp", - "--configFile=/local/file.yml", - // "--certificatesresolvers.myresolver.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.email=stuart.stent@gmail.com", - // "--certificatesresolvers.myresolver-int.acme.storage=/acmecert/acme.json", - // "--certificatesresolvers.myresolver-int.acme.tlschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge=true", - // "--certificatesresolvers.myresolver-int.acme.dnschallenge.provider=duckdns", - "--accesslog=true", - // "--serversTransport.insecureSkipVerify=true", - ] - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock", - "/mnt/mnt/configs/letsencrypt:/acmecert/", - ] - - dns_servers = ["192.168.1.1", "192.168.1.250"] - ports = ["traefik", "traefikhttps","traefikui"] - - memory_hard_limit = 2048 - } - - env { - TZ = "EST5EDT" - PUID = 1000 - PGID = 1000 - DUCKDNS_TOKEN="e4b5ca33-1f4d-494b-b06d-6dd4600df662" - } - - template { - left_delimiter = "[[" - right_delimiter = "]]" - - data = <