Skip to content

Multiple instances

What this is for. One machine can run more than one EYAS (dev + personal, or two Compose projects). Isolation is data directory + port, not “two processes, one DB”. SQLite is not a multi-writer cluster.

  • You want a second instance on the same laptop without mixing vaults.
  • Docker: a second Compose project name and host port.
  • You are debugging leadership on the scheduler health strip (Leader / Follower).
  1. Pick a new EYAS_HOME (data, pid, local.yaml) and a free EYAS_PORT (e.g. 3200).
  2. Native: EYAS_HOME=/path/to/home EYAS_PORT=3200 eyas start.
  3. Docker: EYAS_PORT=3200 docker compose -p eyas-dev up -d.
  4. Confirm each UI on its own port. Never point two live instances at the same SQLite file.
  5. Scheduler health shows Leader / Follower when instances form a cluster for jobs — that still does not mean shared SQLite.
LeverPurpose
EYAS_HOMESeparate data, pid, local config
EYAS_DATA_DIROptional: put an instance’s data directory somewhere else. The database and the memory vault (<data dir>/vault) move with it
EYAS_WORKSPACES_DIROptional: where that instance’s conversation workspaces live
EYAS_PORT / --portNon-colliding listen port
Compose project nameMultiple stacks on one Docker host

Never point two live instances at the same SQLite file.

Vaults and workspaces stay apart. Each instance’s vault is <data dir>/vault, so separate data directories mean separate vaults. On a source install run from a git clone, conversation workspaces live in a per-instance folder named after the EYAS home folder plus a short hash of the data directory, so a dev and a live instance on one machine never share workspaces. If you set EYAS_WORKSPACES_DIR, give each instance its own path. See Configuration — Conversation workspaces.