# Ten31 Database — StartOS 0.4 wrapper (x86_64) This directory is the self-contained StartOS 0.4 service package for Ten31 Database. It is the x86_64 successor to the 0.3.5 (aarch64) wrapper in `../0.3.5/`. Both packages share the same package id (`ten-database`) and the same `/data` volume layout so data can be preserved across the migration. ## Start here **Read `DEPLOY_040.md` first.** It covers: 1. How the image-seed data-preservation mechanism works. 2. How to refresh the seed with live production data from the 0.3.5 host (via `./refresh_seed.sh` or manual scp). 3. How to install the build prerequisites (Node, Docker, `start-cli`). 4. How to build the x86_64 `.s9pk`. 5. How to sideload onto the StartOS 0.4 beta node. 6. A rollback plan and a post-install verification checklist. ## Quick cheat sheet ```sh # From this directory: ./refresh_seed.sh embassy@embassy.local # pull live prod data into seed/ make clean make x86 make install # uses ~/.startos/config.yaml ``` ## Data layout (unchanged from 0.3.5) Inside the container: - `/data/crm.db` — SQLite database - `/data/backups/` — app-level JSON exports - `/data/.crm-secret` — JWT signing key (created on first boot if absent) The entrypoint seeds an empty volume from the image's baked-in snapshot on first boot, and is a no-op for every later boot. Existing volumes are never overwritten. ## Status - Source scaffold: complete and `tsc --noEmit` clean against `@start9labs/start-sdk` 0.4.0. - Dockerfile: self-contained under `start9/0.4/` with no cross-folder references to `start9/0.3.5/`. - Seed snapshot: present at `seed/data/` (repo dev DB — replace with live prod data before building). - Not yet built into a `.s9pk` here; build on a machine with Docker + `start-cli` per `DEPLOY_040.md`.