# Seed snapshot (historical, post-cutover) This directory holds the one-time snapshot of `/data/` that was used to cut the legacy `workout-log` StartOS package over to `proof-of-work` in **v1.0.0:1**. As of **v1.0.0:3** the snapshot is no longer baked into the deployed image — it stays here purely as a historical artifact and as a starting point if you ever want to spin up a new instance with pre-loaded history. > **Privacy:** the snapshot contains real workout history, exercise > records, and a bcrypt'd password hash. The repo's `.gitignore` > excludes `start9/*/seed/data/*.db` and `*.bak` so it never ends up in > version control. Do not change that. ## Source | Field | Value | | --- | --- | | Source files | `proof-of-work-2026-05-09T16-46-11-646Z.db` (latest cutover snapshot) | | Exported from | StartOS 0.4 host running `workout-log` v0.1.0:20 | | SQLite integrity check | `ok` at snapshot time | The earlier `app.db.bak` file (when present on disk) is the previous snapshot kept around as a manual rollback; it is also gitignored. ## What the entrypoint did with this seed (v1.0.0:1 only) On **first boot** of v1.0.0:1, `docker_entrypoint.sh` checked for `/app/seed/data/app.db`. If `/data/app.db` did NOT exist AND `/data/.seeded` did NOT exist, it copied the snapshot into `/data/` and wrote `/data/.seeded` with a timestamp. On every subsequent boot that branch was skipped. **v1.0.0:3 removed both:** - The `COPY start9/0.4/seed/data /app/seed/data` line in the `Dockerfile`. - The baked-seed branch in `docker_entrypoint.sh`. The empty-schema fallback branch (used only for brand-new sideloads on a host that's never had the package installed) stays. ## How to re-seed a future build (rare) If you want to spin up another instance with this history pre-loaded (e.g. moving to a new StartOS host without using the in-app export/import flow), bring back the bake: 1. Refresh the snapshot from the live host: ```sh ./start9/0.4/refresh_seed.sh ``` 2. Reintroduce the COPY line in the Dockerfile (`COPY --chown=nextjs:nodejs start9/0.4/seed/data /app/seed/data`). 3. Reintroduce the baked-seed branch in `docker_entrypoint.sh` — see the comment in that file referencing v1.0.0:3 for the exact shape. 4. Rebuild and sideload as a brand new install (the entrypoint's first-boot guard will only seed if /data is empty). For most "moving to a new instance" cases, the in-app **Settings → Export & import my data** flow is simpler.