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