chore: backup infrastructure configurations [skip ci]

This commit is contained in:
github-actions[bot]
2026-02-03 02:02:35 +00:00
parent e78f3c401c
commit e231f18f08
30 changed files with 45 additions and 51 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
{ {
"backup_timestamp": "2026-02-02T02:02:39.722616", "backup_timestamp": "2026-02-03T02:02:34.837596",
"total_keys": 1268, "total_keys": 1292,
"successful_backups": 1263, "successful_backups": 1287,
"failed_backups": 5, "failed_backups": 5,
"consul_address": "http://consul.service.dc1.consul:8500" "consul_address": "http://consul.service.dc1.consul:8500"
} }

View File

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

View File

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

View File

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

View File

@@ -1 +1 @@
{"optime":681114888200,"slots":{"pg_odroid7":681114887544,"pg_opti1":681114888200,"pg_odroid8":681114888200},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]} {"optime":683034885824,"slots":{"pg_odroid7":683034885824,"pg_opti1":683034885824,"pg_odroid8":683034885824},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]}

View File

@@ -11,32 +11,24 @@ job "navidrome" {
group "navidrome" { group "navidrome" {
count = 1 count = 1
# Prestart restore task volume "navidrome-csi-vol" {
task "restore" { type = "csi"
driver = "docker" source = "navidrome-volume" # This must match the 'id' in your volume registration
lifecycle { attachment_mode = "file-system"
hook = "prestart" access_mode = "multi-node-multi-writer"
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"
]
}
} }
# Main Navidrome task # Main Navidrome task
task "navidrome" { task "navidrome" {
driver = "docker" 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 { config {
image = "ghcr.io/navidrome/navidrome:latest" image = "ghcr.io/navidrome/navidrome:latest"
memory_hard_limit = "2048" memory_hard_limit = "2048"
@@ -45,13 +37,10 @@ job "navidrome" {
"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro", "/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro",
"/mnt/Public/Downloads/news/slskd/downloads:/music/slskd:ro", "/mnt/Public/Downloads/news/slskd/downloads:/music/slskd:ro",
"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro", "/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro",
"/mnt/configs/navidrome:/data" #"/mnt/configs/navidrome:/data"
] ]
} }
env { env {
ND_DATAFOLDER = "/alloc/tmp/"
ND_CACHEFOLDER = "./data/cache"
ND_SCANSCHEDULE = "32 8-20 * * *" ND_SCANSCHEDULE = "32 8-20 * * *"
ND_LOGLEVEL = "debug" ND_LOGLEVEL = "debug"
ND_REVERSEPROXYWHITELIST = "0.0.0.0/0" 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 { network {
port "http" { port "http" {