diff --git a/docker-compose.backup.yml b/docker-compose.backup.yml index 1230b3a9..b89cec69 100644 --- a/docker-compose.backup.yml +++ b/docker-compose.backup.yml @@ -110,9 +110,11 @@ services: SHOPDB_BACKUPS_ROOT: /backups BACKUP_POLL_SECONDS: ${BACKUP_POLL_SECONDS:-10} volumes: - # The files half of the backup scope, read-only: we never mutate the live - # instance tree from the backup path. - - instance_data:/app/instance:ro + # The watcher services both backup (read) and restore (write) requests, so + # the instance tree is mounted read-write here. Restore has to lay the + # files half of a set back down next to the DB rows that reference it; the + # backup half still only ever reads. The manual one-shot below stays :ro. + - instance_data:/app/instance # Alembic chain, read-only, so the manifest can stamp the schema revision # the running code is at. - ./migrations:/app/migrations:ro diff --git a/frontend/src/views/settings/ShopdbBackupsList.vue b/frontend/src/views/settings/ShopdbBackupsList.vue index 0b649ad2..d8f541dd 100644 --- a/frontend/src/views/settings/ShopdbBackupsList.vue +++ b/frontend/src/views/settings/ShopdbBackupsList.vue @@ -190,7 +190,7 @@