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 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 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
-
-
- 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
-
-
- 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
-
-
- 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 = <