init: Backrest config + scripts snapshot

This commit is contained in:
2026-05-23 09:46:44 +02:00
parent 16d5c0316a
commit 4107d2c68b
17 changed files with 1281 additions and 1 deletions
+3
View File
@@ -0,0 +1,3 @@
*.key
*.pem
rclone.conf
+6 -1
View File
@@ -1,3 +1,8 @@
# ct103-backrest
Backrest backup config + scripts (CT 103)
Backrest backup config + scripts for CT 103 (192.168.1.3, http://192.168.1.3:9898).
Auto-synced daily from nuc at 03:15.
Stack: binary install, config at `/opt/backrest/config/config.json`.
Rclone credentials (JottaCloud) stored separately — not tracked here.
+139
View File
@@ -0,0 +1,139 @@
{
"modno": 11,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud:media",
"guid": "8a176298b0a7b2a3cddd66e0c02548ed6c4490427a70e4cd0050b69ea22f9f41",
"password": "QPTnL2m8EyzRgNOOH7J7wS1YAJejzIGt",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud:services",
"guid": "22f55fc6de605ace48e1acc7e6e3834c3881db9a48726a817f81488876b76559",
"password": "tHeHNpA2XIA6TDsflEXoG6K2bXa55E6g",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/gluetun",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid-backup",
"/mnt/pve/unas/services/traccar"
],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
},
"hooks": [
{
"conditions": [
"CONDITION_SNAPSHOT_START"
],
"actionCommand": {
"command": "bash /opt/backrest/scripts/pocketid-prestage.sh"
}
}
]
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+130
View File
@@ -0,0 +1,130 @@
{
"modno": 9,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud:media",
"guid": "8a176298b0a7b2a3cddd66e0c02548ed6c4490427a70e4cd0050b69ea22f9f41",
"password": "QPTnL2m8EyzRgNOOH7J7wS1YAJejzIGt",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud:services",
"guid": "22f55fc6de605ace48e1acc7e6e3834c3881db9a48726a817f81488876b76559",
"password": "tHeHNpA2XIA6TDsflEXoG6K2bXa55E6g",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/gluetun",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/vaultwarden"
],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,38 @@
{
"modno": 5,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "jottacloud-device",
"uri": "rclone:jottacloud:nuclide.systems/media-test",
"guid": "03d2434b27ee4a3c1ad6b6cf6004b23d488f3122592ead7673da02669d193f44",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,15 @@
{
"modno": 5,
"version": 4,
"instance": "nuclide.systems",
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,38 @@
{
"modno": 5,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,58 @@
{
"modno": 6,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/media/data-dir"
],
"schedule": {
"cron": "0 * * * *",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"hourly": 24,
"daily": 30,
"monthly": 12
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,58 @@
{
"modno": 6,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/media/data-dir"
],
"schedule": {
"cron": "0 * * * *",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"hourly": 24,
"daily": 30,
"monthly": 12
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+140
View File
@@ -0,0 +1,140 @@
{
"modno": 8,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud/services",
"guid": "",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
},
"autoInitialize": true
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 0,1,2,3,4",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/services/vaultwarden",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/gluetun"
],
"excludes": [],
"schedule": {
"cron": "0 1 * * 0,1,2,3,4",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 0,1,2,3,4",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+140
View File
@@ -0,0 +1,140 @@
{
"modno": 8,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud/services",
"guid": "",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
},
"autoInitialize": true
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/services/vaultwarden",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/gluetun"
],
"excludes": [],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+141
View File
@@ -0,0 +1,141 @@
{
"modno": 8,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud:media",
"guid": "",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
},
"autoInitialize": true
},
{
"id": "services-repo",
"uri": "rclone:jottacloud:services",
"guid": "",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {
"env": [
"RCLONE_BWLIMIT=05:30,7.5M 01:00,20M"
]
},
"autoInitialize": true
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/services/vaultwarden",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/gluetun"
],
"excludes": [],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+130
View File
@@ -0,0 +1,130 @@
{
"modno": 9,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud:media",
"guid": "8a176298b0a7b2a3cddd66e0c02548ed6c4490427a70e4cd0050b69ea22f9f41",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud:services",
"guid": "22f55fc6de605ace48e1acc7e6e3834c3881db9a48726a817f81488876b76559",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/images/library"
],
"schedule": {
"cron": "30 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/gluetun",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/vaultwarden"
],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+112
View File
@@ -0,0 +1,112 @@
{
"modno": 9,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud:media",
"guid": "8a176298b0a7b2a3cddd66e0c02548ed6c4490427a70e4cd0050b69ea22f9f41",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 4 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
},
{
"id": "services-repo",
"uri": "rclone:jottacloud:services",
"guid": "22f55fc6de605ace48e1acc7e6e3834c3881db9a48726a817f81488876b76559",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 5 * * 0",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 5 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 10
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "services-backup-plan",
"repo": "services-repo",
"paths": [
"/mnt/pve/unas/backup/home-assistant",
"/mnt/pve/unas/backup/immich",
"/mnt/pve/unas/backup/nextcloud",
"/mnt/pve/unas/services/arcane",
"/mnt/pve/unas/services/arr-stack",
"/mnt/pve/unas/services/coder",
"/mnt/pve/unas/services/gitea",
"/mnt/pve/unas/services/gluetun",
"/mnt/pve/unas/services/karakeep",
"/mnt/pve/unas/services/memos",
"/mnt/pve/unas/services/n8n",
"/mnt/pve/unas/services/nextcloud",
"/mnt/pve/unas/services/pocketid",
"/mnt/pve/unas/services/traccar",
"/mnt/pve/unas/services/vaultwarden"
],
"schedule": {
"cron": "0 1 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
},
{
"id": "video-projects-plan",
"repo": "media-repo",
"paths": [
"/mnt/pve/unas/media/video-projects"
],
"schedule": {
"cron": "0 2 * * 1,2,3,4,5",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"weekly": 4,
"monthly": 6,
"yearly": 1
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,58 @@
{
"modno": 7,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/media/data-dir"
],
"schedule": {
"cron": "0 * * * *",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"hourly": 24,
"daily": 30,
"monthly": 12
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
@@ -0,0 +1,58 @@
{
"modno": 7,
"version": 4,
"instance": "nuclide.systems",
"repos": [
{
"id": "media-repo",
"uri": "rclone:jottacloud/media",
"guid": "06c7a5db5045b48528bb0bb57e66e6eadbcc2c64ace65cfd715a80b342343601",
"password": "tapirnase",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "media-backup-plan",
"repo": "media-repo",
"paths": [
"/media/data-dir"
],
"schedule": {
"cron": "0 * * * *",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"hourly": 24,
"daily": 30,
"monthly": 12
}
}
}
],
"auth": {
"disabled": true
},
"sync": {
"identity": {
"keyId": "ecdsa.qgItJptNkYnW8s3aa1BJhkyHIHe_ihtJ_xLBfnzneZ0",
"ed25519priv": "-----BEGIN EC PRIVATE-----\nMHcCAQEEILjrBLGNjimGsu1ddL4ZIvLcDU8zt50GBiQclPP3Ih9UoAoGCCqGSM49\nAwEHoUQDQgAEDo671mLUGrWapLFALmB9o+9i1D+ZpDre378gPmf9/qyPDkvVCD95\nogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PRIVATE-----\n",
"ed25519pub": "-----BEGIN EC PUBLIC-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDo671mLUGrWapLFALmB9o+9i1D+Z\npDre378gPmf9/qyPDkvVCD95ogXI0nucpNbccdG2qGNgMIEJ46c9FyYN1w==\n-----END EC PUBLIC-----\n"
}
}
}
+17
View File
@@ -0,0 +1,17 @@
#!/bin/bash
set -e
STAGING="/mnt/pve/unas/services/pocketid-backup"
CT110="root@192.168.1.5"
# Export inside container then docker cp to host
ssh "$CT110" 'docker exec pocket-id /app/pocket-id export /app/pocket-id-export.zip && docker cp pocket-id:/app/pocket-id-export.zip /tmp/pocketid-export.zip && docker exec pocket-id rm /app/pocket-id-export.zip'
# Pull to staging on UNAS (accessible from CT 103)
scp "$CT110":/tmp/pocketid-export.zip "$STAGING/pocketid-export.zip"
scp -r "$CT110":/opt/stacks/pocketid/data/keys "$STAGING/"
# Cleanup CT 110 temp
ssh "$CT110" 'rm -f /tmp/pocketid-export.zip'
echo "[$(date)] pocketid-prestage: done"