chore: backup infrastructure configurations [skip ci]
This commit is contained in:
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"}
|
||||||
@@ -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"
|
||||||
}
|
}
|
||||||
@@ -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}
|
||||||
@@ -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}
|
||||||
@@ -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}
|
||||||
@@ -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"]}
|
||||||
@@ -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" {
|
||||||
|
|||||||
Reference in New Issue
Block a user