Single Stack
Running one stack on one machine beyond the quickstart: its ports and keys, its backups, and upgrades.
The deployment option: a single stack on one machine. Start it with the quickstart.
Ports and keysโ
| Port | Service | Bound to |
|---|---|---|
| 8765 | API service (MCP and REST) | 127.0.0.1 |
| 8766 | Console | 127.0.0.1 |
To let other machines reach the API service:
-
Set
AUTH_ENABLED=trueand put at least one client key hash inAPI_KEY_HASH_LIST(see client keys). -
Add the overlay that publishes 8765 on every interface, in
.env:COMPOSE_FILE=docker-compose.yml:docker-compose.open.yml -
docker compose up -d. The overlay forces authentication on; the engine refuses to start without a key.
Rotate a key by adding the new hash, moving the client to the new key, then removing the old hash and restarting.
Backupsโ
Three things, kept apart from one another:
| Backup | What it is | Without it |
|---|---|---|
| The archive | The ARCHIVE_DIR folder, or the external bucket | No rebuild after the database is lost |
The database's key volume (ememory_tde_keys) | The key that encrypts the database at rest | The database's files cannot be read |
| The archive encryption key | ARCHIVE_KEY in local.env | The archive's objects cannot be read |
Volume names carry the compose project's prefix; list them with docker volume ls. One way to copy a volume to a file:
docker run --rm -v <project>_ememory_tde_keys:/v:ro -v "$PWD":/b alpine tar czf /b/tde_keys.tgz -C /v .
Keep local.env (and gateway.env, if used) with the backups: they hold the database password, the client key hashes and the archive keys.
The database itself is rebuilt from the archive: an engine started on an empty database with the same archive settings restores it. See archive and restore.
Upgradesโ
- Read the release notes for settings that changed.
- Get the new compose files: download the new release of everythingmemory/home, unpack it beside the old one, and copy across your
local.envand any file you changed inconf/. Thendocker compose pullfetches the images it pins. docker compose up -d. The API service runs the database migrations when it starts.- Check
curl -s http://localhost:8765/health.
Changing EMBEDDING_MODEL is not an upgrade but a new embedding space: every record is re-embedded in the background.