Install · self-hosted
One command, and it is running on your machine.
Vitruvyan installs on any host with Docker. The installer provisions the kernel, the cognitive bus, semantic memory and the archive, puts the vit CLI in your PATH, and hands you back a stack that is already healthy.
It is your machine, and it stays your machine. Every value the installer writes is local. There is no account to create and nothing to call home to.
$ curl -fsSL https://get.vitruvyan.com | bash
Checking prerequisites…
✓ Docker 24.0.7 · Compose v5.1.4
✓ 32 GB RAM · 1 TB disk · Ubuntu 24.04 LTS
—
Pulling kernel, bus, memory, archive…
Writing /etc/vitruvyan — environment, secrets, compose
✓ 7 packages healthy
✓ vit installed at /usr/local/bin/vit
$ vit status
Installed: 1.39.0
Available: 1.39.0
✓ Up to dateA real session on Vitruvyan Core 1.39.0. Two things are normalised, and both belong to the machine rather than to the product: the repository path, and the check mark — the CLI prints an emoji, and this sheet has a measured palette.
You run
One line. The installer checks the machine, pulls the images, writes the configuration and brings the stack up.It takes
Minutes on a clean box, most of it spent pulling images. The script waits until every service reports healthy before it returns.You get
The kernel, the cognitive bus, semantic memory, the archive, and the vit CLI in your PATH.It sends
Nothing. Configuration, secrets and data are written to your disk; no licence call, no telemetry, no account.
What it needs
One dependency, and you already have it.
There is no runtime to install first, no database to stand up, no managed service to sign up for. A host with Docker and room to work is the whole list.
Docker
24+
With Compose. The only hard dependency.RAM
16 GB
32 GB for the full profile with the engines.Disk
500 GB
1 TB if you intend to keep evidence at volume.OS
Ubuntu 24.04 LTS
What it is tested on. Any Docker host works.
Smaller boxes are not excluded. The figures above are for the full profile with every engine running. The minimal profile is the kernel alone at roughly two gigabytes, and packages are installed one at a time afterwards — which is what the profiles further down this page are for.
One command
Take the version you asked for, and no other.
Run either of these on a clean machine or an existing server. The first tracks the stable channel; the second pins a release, which is the one to use if the install has to be reproducible.
Stable channel
$ curl -fsSL https://get.vitruvyan.com | bashThe current release. What you want on a machine you intend to keep up to date.
Pinned
$ curl -fsSL https://get.vitruvyan.com/v1.16 | bashOne named version. Same machine, same bytes, next month too.
Read it before you run it. Piping a script into a shell is a decision, and it should be one you make with the script in front of you: curl -fsSL https://get.vitruvyan.com | less. Everything it does is in the section below, and it does nothing that is not.
What the installer does
Five stages, and it fails before it changes anything.
/01
Environment check
Docker version, Compose, available RAM, disk, and every datastore port it intends to bind. It fails before it changes anything, and it says which check failed./02
Pull the kernel images
The core containers: the cognitive bus on Redis Streams, semantic memory on Qdrant, the archive on PostgreSQL, and the kernel that orchestrates them./03
Write the configuration
A configuration directory with the environment files, the generated secrets and the Compose manifests. Every value is machine-local — nothing is fetched from us and nothing is sent back./04
Start the services
Compose brings the stack up and the health checks run. The installer does not return until each service reports healthy, so a prompt that comes back means a system that is up./05
Install the CLI
`vit` lands in your PATH with its shell completion registered. Everything after this — packages, upgrades, rollbacks — happens through it.
The vit CLI
Everything after the install is one command.
The wrapper needs no installation of its own: it resolves its own Python dependencies, registers its shell completion, and runs. Beside this is a real session — the prerequisite check, the version status, and the full package list.
Packages, not a tarball. Every service and vertical carries a version, a compatibility range and its dependencies. Installing one brings what it needs; removing one takes it away again; an upgrade that fails its validation rolls back to the snapshot it took first.
Captured from Vitruvyan Core 1.39.0. Only the repository path and the check glyph are normalised.
$ vit setup --check
Checking prerequisites...
✓ Git repo: /opt/vitruvyan-core
✓ Python: 3.12.3
✓ Docker: daemon running
✓ Docker Compose: v5.1.4
✓ redis: reachable on port 6389
✓ postgres: reachable on port 5442
✓ qdrant_rest: reachable on port 6343
✓ qdrant_grpc: reachable on port 6344
✓ All required prerequisites met.
$ vit status
—
Vitruvyan Core — Update Status
—
Installed: 1.39.0
Available: 1.39.0
✓ Up to date
Notification settings:
Status: Enabled
Channels: desktop, log
Check interval: 24h
$ vit list --all
Name Version Type Tier Status
—
order-babel-gardens 1.15.0 order core stable
service-graph 1.15.0 service core stable
service-neural-engine 2.1.0 service package stable
service-mcp 2.0.0-beta.1 service package beta
service-edge-oculus-prime 1.0.0 service package stable
service-horizon-engine 1.0.0 service package experimental
service-veritas-engine 1.0.0 service package experimental
Total: 7 packagesCore lifecycle
- vit update
- Check for available Core updates. Read-only.
- vit plan
- Show the upgrade plan — changes, risks, tests, downtime — without applying it.
- vit upgrade
- Apply the upgrade, with compatibility validation and automatic rollback on failure.
- vit rollback
- Restore the last snapshot from the upgrade history.
- vit status
- Current version, available version, notification state.
- vit channel
- Switch between the stable and beta release channels.
- vit release
- Validate release metadata before CI publishes it.
Packages
- vit install
- Install a package and everything it requires.
- vit remove
- Remove a package, and with --purge its data and volumes too.
- vit list
- Installed packages, or all available ones with --all.
- vit search
- Search by name or description, locally or against the remote registry.
- vit info
- Full manifest: compatibility range, dependencies, ports, health endpoint, owner.
Bootstrap
- vit setup
- The first-run wizard: prerequisites, ports, LLM provider, profile, environment, containers.
- vit completion
- Install or remove the bash completion, per user or system-wide.
Five profiles, and you can change your mind later.
vit setup asks which of these you want, writes the environment and brings the containers up. Pass --profile to skip the questions entirely. Nothing here is a licence tier — it is how much of the stack starts on the first run.
Minimal
~2 GBThe kernel only — graph engine and the sacred orders.Standard
~4 GBThe kernel plus the Neural Engine, for pattern analysis.Full
~8 GBEvery package including beta: MCP and the Horizon Engine.Enterprise
~12 GBThe full stack plus the intelligence consoles — Insight, Truth, Decision.Custom
variesPick the packages yourself, one at a time.
After install
The kernel is up. Four commands to see it.
$ vit setup --checkRe-run the prerequisite check: Docker, Compose, and every datastore port.
$ vit statusInstalled version, available version, and the notification settings.
$ vit list --allEvery package the registry knows about, with its tier and release status.
$ vit install service-neural-engineResolve the dependencies and bring one package up, on its own.
Where next
It is installed. Now see what it is.
Architecture
What the containers you just started actually are, and the sentence each one publishes about what it is forbidden to do.Orbis
The decision engine running on top of them: a question in, options with their prices out.Knowledge base
Custom Compose topologies, GPU acceleration, multi-node deployment, air-gapped installs.