Run the whole Data Agent on your own infrastructure.

The same binary that powers tablize.com runs on your servers, in your VPC, with your own LLM keys. Your data never leaves your perimeter unless you point the agent outward.

What's in the self-hosted build

Agent runtime
The full conversational agent core: WebSocket protocol, tool registry, session management, LLM provider router (Anthropic / GLM / Grok / OpenRouter).
All 5 domains
Data, IoT, App, Media, Platform — every domain module that exposes tools to the agent.
Every connector
Stripe, Shopify, GA4, and the rest. OAuth flows, sync engines, credential vault — all in the box.
Web UI
The React workspace UI, chat interface, Spaces visualization, dashboard renderer.
CLI
The single Rust binary that ships the whole thing.

What stays in the managed cloud

A few things live only in the managed cloud — the infrastructure, the billing, and the optional managed LLM pool. None of it is required to run Tablize; it's the convenient version for teams that don't want to operate the platform themselves.

Managed Fly.io infrastructure
Per-workspace dedicated machines, automatic provisioning, snapshots.
Managed LLM pool
The pooled Anthropic/OpenAI credits that ship with paid tiers. Self-hosted runs on your own keys instead.
Billing + workspace lifecycle
The Stripe billing integration, workspace creation flow, and account management UI specific to the managed cloud.
Federation across workspaces
Multi-workspace federation on the Max tier requires the managed control plane.

Architecture

Tablize is a single Rust binary that bundles the agent runtime, the HTTP server, all five product domains, and every connector. The deploy story is Docker Compose: 5 containers (tablize binary, postgres, emqx, minio, python sandbox).

The crate layout enforces hard domain boundaries: Data, IoT, App, Media, and Platform each live in their own crate and cannot import each other. The tools crate is the only place that aggregates across all domains, registering each domain's tools into a global registry that the agent runtime calls into.

Storage is one Postgres instance with multiple schemas (iot.*, data.*, app.*, media.*, platform.*). TimescaleDB handles time-series. There's no event bus between domains — cross-domain coordination happens through the agent runtime's tool-call mechanism.

More on the design choices: Why we built Tablize as one Rust binary instead of microservices.

When self-hosting makes sense

Data residency requirements

Healthcare, finance, regulated work where data cannot leave your perimeter. Self-host, point the agent at your own LLM key, never send a row to a third party.

Air-gapped environments

For deployments behind a firewall with no internet egress. The self-hosted build can run with a local LLM (Ollama, vLLM-served Llama, etc.) and zero outbound calls.

Predictable cost

For heavy, steady workloads where the managed per-workspace tier does not fit. Run it on your own hardware, pay your own LLM bill, no per-workspace overhead.

Your own network perimeter

Keep the whole Data Agent — data, agent, and dashboards — inside your VPC. Nothing crosses the boundary unless you point it outward.

How to self-host

The self-hosted build ships as the single Tablize binary plus a Docker Compose stack. On any Linux host with Docker installed, it comes down to three lines:

cp .env.example .env
# set your LLM key (Anthropic / OpenAI / a local model), DOMAIN, and storage creds
docker compose up -d

Five containers start: tablize (the binary), postgres (with TimescaleDB), emqx (MQTT broker, optional if you don't use devices), minio (S3-compatible storage), python-sandbox (for the Python tool).

To get the self-hosted build and the deploy docs, email hello@tablize.com.

Licensing

The self-hosted build is licensed for commercial use on your own infrastructure — your servers, your LLM keys, your network. You run it, you own the data, nothing phones home by default.

For specific licensing terms — including redistribution, air-gapped deployments, or embedding Tablize in a product you ship to your own customers — email hello@tablize.com.

Run Tablize on your own servers.

From the build to a running agent: about 10 minutes on a fresh Linux host.

Request the self-hosted build