Deploy & verify¶
How to ship the engine and prove the shipped instance actually works.
Deploying the backend (Coolify)¶
- Push
anatomie-rebrand. The image bundles the engine (curated memfs seed) at the code's expected absolute paths. - REQUIRED: persistent volume
anatomie-memfsat/home/senpai/letta-anatomie-engine/memfs(compose declares it; verify in the panel for Dockerfile-pack apps). Without it every redeploy wipes all learning. Automation stays OFF until confirmed. - First boot:
seed_from_prod.sh(optional, env-gated) →seed_memfs.sh(seeds the volume from the baked memfs, fails the boot if empty, initializes memfs git history) → alembic → uvicorn. - Env gotchas (learned the hard way):
ANATOMIE_DIRECT_GENERATION_PCT— files mode defaults to 100 in code; the compose default is also 100. Never set 0 in files mode.- Node-based consumers (ReviewHub/Strategist) on NAT64/IPv6 hosts need
NODE_OPTIONS=--dns-result-order=ipv4first.
Verification¶
Run docs/DEPLOY_VERIFICATION.md (sections A–E) against the deployed URL —
API smoke, Strategist UI, ReviewHub, learning pulse, and a 2-render
generation E2E. Executed green locally on 2026-06-10 before the v2 cutover.