The instance home
The default instance home is:The full layout
Each directory, in order
db/
The database. Either PGlite data files or, if you are using real
Postgres, an empty directory. See database for
the details.
data/storage/
User-uploaded assets. Logos, reference documents, image inputs,
anything a human uploads through the dashboard or an agent writes
through upload_asset. Not workspace files; those live under
runs/.
File layout:
data/backups/
Scheduled and manual backups (see Settings → Storage →
Backups). Each backup is a .tar.gz that contains the database
dump, the secrets bundle (if opted in), and the audit trail
export.
Retention is configurable. Default is “keep the last 7 daily
backups and the last 4 weekly backups.”
Move elsewhere with:
secrets/master.key
The 32-byte AES-256 master key. Everything in the secrets
table in the database is encrypted with this key. See
secrets for the full story.
Enforced permissions: 0600. The orchestrator refuses to start
if the file is readable by anyone but the owner.
runs/
Retained run workspaces. Each sub-directory is one run’s
workspace, preserved because the run failed, was explicitly kept
with --keep, or has an open audit trail entry.
Workspace internals:
logs/
Orchestrator, MCP server, and adapter logs. Rotated daily,
compressed after rotation, kept for 30 days by default.
Configure with:
config.json
Instance-level config that is not secret: default adapter, default
fiscal period, default budget split, etc. Set on first install,
editable via the dashboard or by hand.
runtime-services/
Separate from instances/. Runtime services live here because
they are the agent’s environment, not the agent’s writable state.
See the execution workspaces guide
for why the split matters.
Per-run services are cleaned up when the run ends. Pool-scoped
services (crawlers, image sourcers, anything expensive to start)
live under shared/ and stay running across runs.
Move this directory with:
Moving the whole thing
To move an entire instance to a new location:- Stop the orchestrator
cp -a ~/.company-agents/instances/default/ /new/path/cp -a ~/.company-agents/runtime-services/ /new/path/runtime-services- Set
COMPANY_AGENTS_HOME=/new/path/and the relevant sub-path env vars - Start the orchestrator
- Verify: dashboard loads, companies are present, secrets decrypt, runs list is intact
- Delete the old location only after at least one successful day of operation on the new one
Disk usage estimates
Rough numbers for a small team running a single company:- Database (PGlite): 100 MB to 1 GB
- Retained runs: 50 MB to 500 MB per retained run
- Runtime services: up to a few GB for caches and crawl data
- Backups: roughly 2x the live database, times the retention count
- Logs: a few hundred MB per month, compressed
df -h on the instance home every week is a healthy habit.
Next
- Database for the database layer
- Secrets for master key management
- Environment variables for every storage path env var in one place