Skip to content

Deploy & verify

How to ship the engine and prove the shipped instance actually works.

Deploying the backend (Coolify)

  1. Push anatomie-rebrand. The image bundles the engine (curated memfs seed) at the code's expected absolute paths.
  2. REQUIRED: persistent volume anatomie-memfs at /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.
  3. 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.
  4. Env gotchas (learned the hard way):
  5. ANATOMIE_DIRECT_GENERATION_PCT — files mode defaults to 100 in code; the compose default is also 100. Never set 0 in files mode.
  6. 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.