diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T02:08:41.156758+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T02:08:41.156758+00:00 new file mode 100644 index 0000000..7ff99c6 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T02:08:41.156758+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T02:08:41.156758+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T03:08:43.749039+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T03:08:43.749039+00:00 new file mode 100644 index 0000000..cee794e --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T03:08:43.749039+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T03:08:43.749039+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T04:08:47.109577+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T04:08:47.109577+00:00 new file mode 100644 index 0000000..a843fce --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T04:08:47.109577+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T04:08:47.109577+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T05:08:50.126003+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T05:08:50.126003+00:00 new file mode 100644 index 0000000..8dfead2 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T05:08:50.126003+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T05:08:50.126003+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T06:08:53.031060+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T06:08:53.031060+00:00 new file mode 100644 index 0000000..66fe250 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T06:08:53.031060+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T06:08:53.031060+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T07:08:56.675876+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T07:08:56.675876+00:00 new file mode 100644 index 0000000..5e2b9f9 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T07:08:56.675876+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T07:08:56.675876+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T08:08:59.930306+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T08:08:59.930306+00:00 new file mode 100644 index 0000000..a7b9a79 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T08:08:59.930306+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T08:08:59.930306+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T09:09:02.715799+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T09:09:02.715799+00:00 new file mode 100644 index 0000000..35ac3ed --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T09:09:02.715799+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T09:09:02.715799+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T10:09:05.791807+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T10:09:05.791807+00:00 new file mode 100644 index 0000000..f406146 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T10:09:05.791807+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T10:09:05.791807+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T11:09:08.395783+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T11:09:08.395783+00:00 new file mode 100644 index 0000000..4d08d12 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T11:09:08.395783+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T11:09:08.395783+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T12:09:11.384758+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T12:09:11.384758+00:00 new file mode 100644 index 0000000..1539122 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T12:09:11.384758+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T12:09:11.384758+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T13:09:14.974526+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T13:09:14.974526+00:00 new file mode 100644 index 0000000..2a0fc9d --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T13:09:14.974526+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T13:09:14.974526+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T14:09:17.494167+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T14:09:17.494167+00:00 new file mode 100644 index 0000000..446727a --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T14:09:17.494167+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T14:09:17.494167+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T15:09:20.105385+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T15:09:20.105385+00:00 new file mode 100644 index 0000000..8fc4d0e --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T15:09:20.105385+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T15:09:20.105385+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T16:09:22.658514+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T16:09:22.658514+00:00 new file mode 100644 index 0000000..6ad7119 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T16:09:22.658514+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T16:09:22.658514+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T17:09:25.592078+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T17:09:25.592078+00:00 new file mode 100644 index 0000000..1d621f9 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T17:09:25.592078+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T17:09:25.592078+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T18:09:28.292946+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T18:09:28.292946+00:00 new file mode 100644 index 0000000..9da5189 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T18:09:28.292946+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T18:09:28.292946+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T19:09:31.489896+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T19:09:31.489896+00:00 new file mode 100644 index 0000000..020b5c3 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T19:09:31.489896+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T19:09:31.489896+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T20:09:34.482653+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T20:09:34.482653+00:00 new file mode 100644 index 0000000..4543f4a --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T20:09:34.482653+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T20:09:34.482653+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T21:09:37.531733+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T21:09:37.531733+00:00 new file mode 100644 index 0000000..f75256d --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T21:09:37.531733+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T21:09:37.531733+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T22:09:40.271437+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T22:09:40.271437+00:00 new file mode 100644 index 0000000..0078886 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T22:09:40.271437+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T22:09:40.271437+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-02T23:09:43.161076+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T23:09:43.161076+00:00 new file mode 100644 index 0000000..bcda19f --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-02T23:09:43.161076+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-02T23:09:43.161076+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T00:09:45.698712+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T00:09:45.698712+00:00 new file mode 100644 index 0000000..420b501 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T00:09:45.698712+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-03T00:09:45.698712+00:00"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T01:09:48.503103+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T01:09:48.503103+00:00 new file mode 100644 index 0000000..16687b9 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T01:09:48.503103+00:00 @@ -0,0 +1 @@ +{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-03T01:09:48.503103+00:00"} \ No newline at end of file diff --git a/consul_backup/metadata.json b/consul_backup/metadata.json index 6fa77cf..1d4893f 100644 --- a/consul_backup/metadata.json +++ b/consul_backup/metadata.json @@ -1,7 +1,7 @@ { - "backup_timestamp": "2026-02-02T02:02:39.722616", - "total_keys": 1268, - "successful_backups": 1263, + "backup_timestamp": "2026-02-03T02:02:34.837596", + "total_keys": 1292, + "successful_backups": 1287, "failed_backups": 5, "consul_address": "http://consul.service.dc1.consul:8500" } \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-odroid7 b/consul_backup/nomad/postgres/members/pg-odroid7 index ee7b21f..810369d 100644 --- a/consul_backup/nomad/postgres/members/pg-odroid7 +++ b/consul_backup/nomad/postgres/members/pg-odroid7 @@ -1 +1 @@ -{"conn_url":"postgres://192.168.4.227:5432/postgres","api_url":"http://192.168.4.227:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":681114899240,"replication_state":"streaming","timeline":248} \ No newline at end of file +{"conn_url":"postgres://192.168.4.227:5432/postgres","api_url":"http://192.168.4.227:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":683034885072,"replication_state":"streaming","timeline":248} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-odroid8 b/consul_backup/nomad/postgres/members/pg-odroid8 index dbeca61..ab12e94 100644 --- a/consul_backup/nomad/postgres/members/pg-odroid8 +++ b/consul_backup/nomad/postgres/members/pg-odroid8 @@ -1 +1 @@ -{"conn_url":"postgres://192.168.4.228:5432/postgres","api_url":"http://192.168.4.228:8008/patroni","state":"running","role":"primary","version":"4.0.4","xlog_location":681114888200,"timeline":248} \ No newline at end of file +{"conn_url":"postgres://192.168.4.228:5432/postgres","api_url":"http://192.168.4.228:8008/patroni","state":"running","role":"primary","version":"4.0.4","xlog_location":683034885824,"timeline":248} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-opti1 b/consul_backup/nomad/postgres/members/pg-opti1 index a54eead..f71b3b5 100644 --- a/consul_backup/nomad/postgres/members/pg-opti1 +++ b/consul_backup/nomad/postgres/members/pg-opti1 @@ -1 +1 @@ -{"conn_url":"postgres://192.168.4.36:5432/postgres","api_url":"http://192.168.4.36:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":681115208336,"replication_state":"streaming","timeline":248} \ No newline at end of file +{"conn_url":"postgres://192.168.4.36:5432/postgres","api_url":"http://192.168.4.36:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":683034970016,"replication_state":"streaming","timeline":248} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/status b/consul_backup/nomad/postgres/status index 9338e11..380a966 100644 --- a/consul_backup/nomad/postgres/status +++ b/consul_backup/nomad/postgres/status @@ -1 +1 @@ -{"optime":681114888200,"slots":{"pg_odroid7":681114887544,"pg_opti1":681114888200,"pg_odroid8":681114888200},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]} \ No newline at end of file +{"optime":683034885824,"slots":{"pg_odroid7":683034885824,"pg_opti1":683034885824,"pg_odroid8":683034885824},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]} \ No newline at end of file diff --git a/nomad_backup/navidrome.hcl b/nomad_backup/navidrome.hcl index 3b67044..be578ad 100644 --- a/nomad_backup/navidrome.hcl +++ b/nomad_backup/navidrome.hcl @@ -11,32 +11,24 @@ job "navidrome" { group "navidrome" { count = 1 - # Prestart restore task - task "restore" { - driver = "docker" - lifecycle { - hook = "prestart" - sidecar = false - } - config { - image = "litestream/litestream:latest" - 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" - ] - } + volume "navidrome-csi-vol" { + type = "csi" + source = "navidrome-volume" # This must match the 'id' in your volume registration + attachment_mode = "file-system" + access_mode = "multi-node-multi-writer" } # Main Navidrome task task "navidrome" { driver = "docker" + + volume_mount { + volume = "navidrome-csi-vol" # Matches the name in the volume block above + destination = "/data" # Where it appears inside the container + read_only = false + } + + config { image = "ghcr.io/navidrome/navidrome:latest" memory_hard_limit = "2048" @@ -45,13 +37,10 @@ job "navidrome" { "/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" - + #"/mnt/configs/navidrome:/data" ] } env { - ND_DATAFOLDER = "/alloc/tmp/" - ND_CACHEFOLDER = "./data/cache" ND_SCANSCHEDULE = "32 8-20 * * *" ND_LOGLEVEL = "debug" ND_REVERSEPROXYWHITELIST = "0.0.0.0/0" @@ -86,25 +75,6 @@ job "navidrome" { } } - # Litestream sidecar for continuous replication - task "litestream" { - driver = "docker" - lifecycle { - hook = "poststart" # runs after main task starts - sidecar = true - } - 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" - ] - } - } network { port "http" {