From d97a09b1196c67aa49c229edb3b935bc7fa327b9 Mon Sep 17 00:00:00 2001 From: librelad Date: Sat, 23 May 2026 15:16:05 +0100 Subject: [PATCH] feat(backup): declare sqlite databases for live backup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add libreportal.backup.db labels for the SQLite apps with confirmed db paths: vaultwarden, linkding, trilium, headscale, authelia. These are dumped live via sqlite3 .backup and rehydrated before start on restore. gitea and focalboard are intentionally left out until their sqlite paths are confirmed on a live install — a wrong path would just fall back to stop, but there's no point shipping a descriptor that always falls back. Co-Authored-By: Claude Opus 4.7 Signed-off-by: librelad --- containers/authelia/docker-compose.yml | 1 + containers/headscale/docker-compose.yml | 1 + containers/linkding/docker-compose.yml | 1 + containers/trilium/docker-compose.yml | 1 + containers/vaultwarden/docker-compose.yml | 1 + 5 files changed, 5 insertions(+) diff --git a/containers/authelia/docker-compose.yml b/containers/authelia/docker-compose.yml index aabbaa8..e6fec3e 100755 --- a/containers/authelia/docker-compose.yml +++ b/containers/authelia/docker-compose.yml @@ -23,6 +23,7 @@ services: labels: libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA + libreportal.backup.db: "sqlite:::config/db.sqlite3" traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA # TRAEFIK_PORT_1_BEGIN traefik.http.routers.authelia-service.entrypoints: web,websecure diff --git a/containers/headscale/docker-compose.yml b/containers/headscale/docker-compose.yml index fe36f52..4bacc0b 100755 --- a/containers/headscale/docker-compose.yml +++ b/containers/headscale/docker-compose.yml @@ -20,6 +20,7 @@ services: labels: libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA + libreportal.backup.db: "sqlite:::data/db.sqlite" healthcheck: disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA # GLUETUN_OFF_BEGIN diff --git a/containers/linkding/docker-compose.yml b/containers/linkding/docker-compose.yml index 32056ac..36d3fff 100755 --- a/containers/linkding/docker-compose.yml +++ b/containers/linkding/docker-compose.yml @@ -18,6 +18,7 @@ services: labels: libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA + libreportal.backup.db: "sqlite:::data/db.sqlite3" traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA # TRAEFIK_PORT_1_BEGIN traefik.http.routers.linkding-service.entrypoints: web,websecure diff --git a/containers/trilium/docker-compose.yml b/containers/trilium/docker-compose.yml index be3b544..d8e4d7d 100755 --- a/containers/trilium/docker-compose.yml +++ b/containers/trilium/docker-compose.yml @@ -15,6 +15,7 @@ services: labels: libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA + libreportal.backup.db: "sqlite:::trilium-data/document.db" traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA # TRAEFIK_PORT_1_BEGIN traefik.http.routers.trilium-service.entrypoints: web,websecure diff --git a/containers/vaultwarden/docker-compose.yml b/containers/vaultwarden/docker-compose.yml index d306d3b..cc01bd2 100755 --- a/containers/vaultwarden/docker-compose.yml +++ b/containers/vaultwarden/docker-compose.yml @@ -25,6 +25,7 @@ services: labels: libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA + libreportal.backup.db: "sqlite:::vaultwarden-data/db.sqlite3" traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA # TRAEFIK_PORT_1_BEGIN traefik.http.routers.vaultwarden-service.entrypoints: web,websecure