Infrastructure
Mentat is intended to run on infrastructure you control. The reference setup is deliberately simple: Linux with KVM, attached SSD storage, Terraform-managed provisioning, and enough capacity to run Firecracker, Docker, and platform services on the same private environment.
Reference Host Profile
| Machine | 8 vCPU, 32GB RAM |
| OS | Ubuntu 24.04 LTS or equivalent Linux with KVM |
| CPU | x86_64 with VT-x / nested KVM support |
| Boot Disk | 150GB SSD |
| Data Disk | 512GB SSD |
| Cluster Shape | 3 nodes for Raft (1 leader, 2 followers) |
| Network | Private subnet between nodes |
What This Supports
This profile is sized for mixed workloads: isolated services in Firecracker, existing services in Docker, and host-level agents through exec. It is a practical baseline for private infrastructure rather than a hyperscaler-style architecture.
| Service | Driver | Observed Status |
|---|---|---|
| StreamForge v0.11.4 | Firecracker | 3-node Raft cluster verified |
| OxideStore | Firecracker | S3 API verified with AWS CLI |
| API Service | Docker | Containerized application runtime with docker-hardened policy |
| Node Agent | Exec | Host-level platform service |
Filesystem Layout
/opt/mentat/bin/
├── mt
├── mentat-server
└── mentat-agent
/var/lib/mentat/
└── state/
/tmp/mentat/
└── firecracker/
/mnt/unikernel-volumes/
├── vector-store/
├── oxidestore/
└── other service volumesPorts and Access Model
| Port | Service | Access |
|---|---|---|
| 22 | SSH | External |
| 4646 | Mentat API | External or VPN |
| 4647 | Agent API | Internal |
| 80/443 | Ingress | External |
Installed Software
| Firecracker | v1.7.0 |
| Docker | 28.2.2 |
| KVM | /dev/kvm available to the runtime user |
Provisioning
Terraform is the recommended way to provision and repeat environments. The exact cloud can vary, but the core requirements stay the same: Linux, KVM, attached SSD storage, and private node connectivity.
The control plane architecture is intended to run as a Raft cluster. Even when a given environment is temporarily reduced to one active voter, the operating model, networking, and provisioning should remain aligned with a multi-node topology.
cd Terraform/
terraform init
terraform plan -var="project_id=your-project-id"
terraform apply -var="project_id=your-project-id" -auto-approveBackups
Persistent data should live on the attached data disk and be protected with regular snapshots. The reference policy keeps daily snapshots with a 7-day retention window.
Build and Publish Binaries
cargo build --release --target x86_64-unknown-linux-musl \
--bin mt --bin mentat-server --bin mentat-agent
scp target/x86_64-unknown-linux-musl/release/{mt,mentat-server,mentat-agent} \
user@your-host:/opt/mentat/bin/