From b1135d6fa23c6023a07d267feb3f9585e6fa243a Mon Sep 17 00:00:00 2001 From: ToledoEM <8144940+ToledoEM@users.noreply.github.com> Date: Thu, 5 Mar 2026 18:40:58 +0000 Subject: [PATCH 1/2] manyfold: update to 0.133.1, remove image field, add migration docs - Bump version to 0.133.1 (latest upstream manyfold-solo release) - Remove image: field from config.yaml so HA builds via Dockerfile - Pin Dockerfile and build.yaml to 0.133.1 instead of :latest - Add Secret Key Base section to README covering all install scenarios - Add Migration section to README with steps to preserve data when switching addon slug or reinstalling Co-Authored-By: Claude Sonnet 4.6 --- manyfold/Dockerfile | 2 +- manyfold/README.md | 36 +++++++++++++++++++++++++++++++++++- manyfold/build.yaml | 4 ++-- manyfold/config.yaml | 3 +-- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/manyfold/Dockerfile b/manyfold/Dockerfile index d97c8a354..795002fc0 100644 --- a/manyfold/Dockerfile +++ b/manyfold/Dockerfile @@ -1,4 +1,4 @@ -ARG BUILD_FROM=ghcr.io/manyfold3d/manyfold-solo:latest +ARG BUILD_FROM=ghcr.io/manyfold3d/manyfold-solo:0.133.1 FROM ${BUILD_FROM} # hadolint ignore=DL3041 diff --git a/manyfold/README.md b/manyfold/README.md index 6af01c87c..104167908 100644 --- a/manyfold/README.md +++ b/manyfold/README.md @@ -52,7 +52,7 @@ Local development alternative on the HA host: ## Options -- `secret_key_base`: App secret. Auto-generated and persisted at `/config/secret_key_base` when empty. +- `secret_key_base`: App secret used by Rails to sign/encrypt sessions and tokens. See [Secret Key Base](#secret-key-base) below. - `puid` / `pgid`: Ownership applied to writable mapped directories (`/config` paths). - `multiuser`: Toggle Manyfold multiuser mode. - `library_path`: Scanned/indexed path. @@ -126,6 +126,40 @@ After changing values: - `thumbnails_path` must resolve under `/config` to guarantee persistence. - Startup fails if `library_path` is not readable. +## Secret Key Base + +`secret_key_base` is a required Rails secret used to sign and encrypt user sessions and tokens. Changing it will invalidate all active sessions and log everyone out. + +**How it works:** + +| Scenario | Behaviour | +|----------|-----------| +| **New install**, option left blank | A random secret is auto-generated and saved to `/config/secret_key_base` | +| **Addon update**, option still blank | The previously saved `/config/secret_key_base` is reused — no data loss | +| **Option manually set** | The value from the addon options is used and saved to `/config/secret_key_base` | +| **Option was set, then cleared on update** | A new secret is generated — **sessions will be invalidated** | + +**Recommendation:** Leave `secret_key_base` blank on first install and never change it afterwards. The auto-generated value persists across updates in `/config/secret_key_base`, which is included in Home Assistant backups. + +## Migrating from a previous installation + +If you are reinstalling this addon or moving from another Manyfold addon (e.g. a different slug/repository), your data is stored in the previous addon's config directory on the HA host. To migrate without losing data: + +1. SSH into your Home Assistant host. +2. Copy the database and secret to the new addon config directory: + +```bash +cp /addon_configs//manyfold.sqlite3 /addon_configs//manyfold.sqlite3 +cp /addon_configs//secret_key_base /addon_configs//secret_key_base +chown 1000:1000 /addon_configs//manyfold.sqlite3 /addon_configs//secret_key_base +chown 1000:1000 /addon_configs// +chmod 600 /addon_configs//secret_key_base +``` + +Replace `` and `` with the actual directory names (e.g. `db21ed7f_manyfold` and `088d77ac_manyfold_solo`). List them with `ls /addon_configs/`. + +3. Start the new addon — it will pick up the existing database and secret automatically. + ## Notes - This baseline avoids Home Assistant ingress and keeps direct port access. diff --git a/manyfold/build.yaml b/manyfold/build.yaml index adc465afa..4b66e84f7 100644 --- a/manyfold/build.yaml +++ b/manyfold/build.yaml @@ -1,4 +1,4 @@ --- build_from: - aarch64: ghcr.io/manyfold3d/manyfold-solo:latest - amd64: ghcr.io/manyfold3d/manyfold-solo:latest + aarch64: ghcr.io/manyfold3d/manyfold-solo:0.133.1 + amd64: ghcr.io/manyfold3d/manyfold-solo:0.133.1 diff --git a/manyfold/config.yaml b/manyfold/config.yaml index cf40dc0ca..836e4018d 100644 --- a/manyfold/config.yaml +++ b/manyfold/config.yaml @@ -1,9 +1,8 @@ name: "Manyfold" slug: manyfold description: "Manyfold 3D model manager as a Home Assistant add-on, using the upstream image with configurable library/index paths." -version: "1.0.3" +version: "0.133.1" url: "https://github.com/alexbelgium/hassio-addons/tree/master/manyfold" -image: ghcr.io/alexbelgium/manyfold-{arch} arch: - amd64 - aarch64 From 28e2117f6db995dc715225b1b09c6576857bd789 Mon Sep 17 00:00:00 2001 From: ToledoEM <8144940+ToledoEM@users.noreply.github.com> Date: Thu, 5 Mar 2026 20:55:58 +0000 Subject: [PATCH 2/2] manyfold: restore image tag removed by mistake Co-Authored-By: Claude Sonnet 4.6 --- manyfold/config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/manyfold/config.yaml b/manyfold/config.yaml index 836e4018d..30d03de97 100644 --- a/manyfold/config.yaml +++ b/manyfold/config.yaml @@ -3,6 +3,7 @@ slug: manyfold description: "Manyfold 3D model manager as a Home Assistant add-on, using the upstream image with configurable library/index paths." version: "0.133.1" url: "https://github.com/alexbelgium/hassio-addons/tree/master/manyfold" +image: ghcr.io/alexbelgium/manyfold-{arch} arch: - amd64 - aarch64