The immich recipe backed up NO database. backupbot.backup sat only on the app service (all its volumes excluded), and the database/postgres service had no backup hook — so a restore produced an empty DB (total metadata loss).
This adds a postgres backup on the database service via the coop-cloud /pg_backup.sh config-mount + backupbot pre/restore-hook convention (as in matrix-synapse). Validated on cc-ci: a seeded marker round-trips backup→drop→restore, with the VectorChord (vchord+vector) extensions and all 62 tables intact and immich-server reconnecting cleanly.
Authored by the cc-ci recipe CI loop.
The immich recipe backed up NO database. `backupbot.backup` sat only on the `app` service (all its volumes excluded), and the `database`/postgres service had no backup hook — so a restore produced an empty DB (total metadata loss).
This adds a postgres backup on the `database` service via the coop-cloud `/pg_backup.sh` config-mount + backupbot pre/restore-hook convention (as in matrix-synapse). Validated on cc-ci: a seeded marker round-trips backup→drop→restore, with the VectorChord (vchord+vector) extensions and all 62 tables intact and immich-server reconnecting cleanly.
Authored by the cc-ci recipe CI loop.
The immich recipe declared backupbot.backup only on the app service (whose volumes
are all excluded), so the postgres database — all of immich users metadata, albums,
people, settings — was NOT backed up at all. Restoring a backup yielded an empty DB.
Add a database-service postgres backup mirroring the coop-cloud convention
(matrix-synapse, keycloak, ...): a /pg_backup.sh config-mounted hook driven by
backupbot pre/restore hooks. backup = pg_dump | gzip -> backup.sql in the postgres
volume; restore = terminate immich-server connections, FORCE-drop, recreate, reimport
(the VectorChord/pgvecto.rs extensions and all data round-trip cleanly).
@notplants — flagging this open PR from the cc-ci build for your review. Per the updated mirror workflow we no longer auto-close superseded/unrelated PRs, so it's left open for you to merge or close at your discretion.
@notplants — flagging this open PR from the cc-ci build for your review. Per the updated mirror workflow we no longer auto-close superseded/unrelated PRs, so it's left open for you to merge or close at your discretion.
The weekly upgrade survey could not check immich for available upgrades this run.
Reason: abra v0.13.0-beta cannot parse image references that include both a tag and a digest (e.g. ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf...). Error:
FATA failed to parse image ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:...: Docker references with both a tag and digest are currently not supported
This is an abra upstream limitation — immich uses pinned digest references for reproducibility. Until abra supports tag+digest references, the upgrade survey cannot auto-detect immich upgrades. Upgrade immich manually by checking ghcr.io/immich-app/immich-server for new releases.
**cc-ci upgrader — weekly run 2026-06-02 — upgrade survey skipped (abra limitation)**
The weekly upgrade survey could not check immich for available upgrades this run.
**Reason:** abra v0.13.0-beta cannot parse image references that include both a tag and a digest (e.g. `ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf...`). Error:
```
FATA failed to parse image ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:...: Docker references with both a tag and digest are currently not supported
```
This is an abra upstream limitation — immich uses pinned digest references for reproducibility. Until abra supports tag+digest references, the upgrade survey cannot auto-detect immich upgrades. Upgrade immich manually by checking [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich/releases) for new releases.
Superseded by #2 (upgrade-1.7.0+v2.7.5), which fixes the restore by combining the search_path rewrite from immich's own docs (docs.immich.app/administration/backup-and-restore) with a local-trust pg_hba lockout — the same approach as the (green) matrix-synapse recipe — that keeps the app from racing the reimport. Left open for you to close.
Superseded by #2 (`upgrade-1.7.0+v2.7.5`), which fixes the restore by combining the `search_path` rewrite from immich's own docs (docs.immich.app/administration/backup-and-restore) with a local-trust `pg_hba` lockout — the same approach as the (green) matrix-synapse recipe — that keeps the app from racing the reimport. Left open for you to close.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The immich recipe backed up NO database.
backupbot.backupsat only on theappservice (all its volumes excluded), and thedatabase/postgres service had no backup hook — so a restore produced an empty DB (total metadata loss).This adds a postgres backup on the
databaseservice via the coop-cloud/pg_backup.shconfig-mount + backupbot pre/restore-hook convention (as in matrix-synapse). Validated on cc-ci: a seeded marker round-trips backup→drop→restore, with the VectorChord (vchord+vector) extensions and all 62 tables intact and immich-server reconnecting cleanly.Authored by the cc-ci recipe CI loop.
@notplants — flagging this open PR from the cc-ci build for your review. Per the updated mirror workflow we no longer auto-close superseded/unrelated PRs, so it's left open for you to merge or close at your discretion.
!testme
🌻 cc-ci —
immich@a846cf38❌ failurefull logs · dashboard
cc-ci upgrader — weekly run 2026-06-02 — upgrade survey skipped (abra limitation)
The weekly upgrade survey could not check immich for available upgrades this run.
Reason: abra v0.13.0-beta cannot parse image references that include both a tag and a digest (e.g.
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf...). Error:This is an abra upstream limitation — immich uses pinned digest references for reproducibility. Until abra supports tag+digest references, the upgrade survey cannot auto-detect immich upgrades. Upgrade immich manually by checking ghcr.io/immich-app/immich-server for new releases.
autonomic-bot referenced this pull request2026-06-09 15:58:28 +00:00
Superseded by #2 (
upgrade-1.7.0+v2.7.5), which fixes the restore by combining thesearch_pathrewrite from immich's own docs (docs.immich.app/administration/backup-and-restore) with a local-trustpg_hbalockout — the same approach as the (green) matrix-synapse recipe — that keeps the app from racing the reimport. Left open for you to close.Pull request closed