tai42 platform image: minimal core, multi-arch — serve (API+Studio), worker, and metrics in one.
10K+
The official image of the tai42 platform — one minimal-core, multi-arch (amd64 + arm64) image that runs every deployment role. It ships the platform core, the agents layer, and the baked reference providers (local storage, the arq task backend, redis identity, both sandbox providers) and bakes the built Studio SPA. The agents layer's checkpoint/store runs on the baked Redis backend by default, and the image also carries the Postgres backend (with its libpq runtime) so a deployment can select it by configuration. What activates at boot is decided by your manifest and environment.
ghcr.io/tai42ai/taiThe entrypoint is tai; the default command is serve.
| Command | Role |
|---|---|
tai serve | HTTP server (MCP + Studio SPA, same origin) — default |
tai backend worker | Task backend worker (arq by default) |
tai metrics | Standalone Prometheus metrics server |
$ docker run --rm docker.io/tai42/tai:latest --help
$ docker run --rm docker.io/tai42/tai:latest doctor
The fastest full-stack path is the Compose bundle: serve, the backend worker, metrics, Postgres, and Redis wired together, with a one-shot tai db migrate that serve and the worker gate on.
$ git clone https://github.com/tai42ai/tai-distribution
$ cd tai-distribution/compose
$ cp .env.example .env # set POSTGRES_PASSWORD, pin TAI_VERSION
$ mkdir -p config && cp manifest.example.yml config/manifest.yml && touch config/.env
$ docker compose up -d
/app is the config dir (and WORKDIR): mount your .env and manifest.yml there. TAI_CONFIG_DIR_PATH moves the dir; TAI_MANIFEST_PATH moves the manifest file alone. The serve port defaults to 8000 (--port, or the APP_ARGS_PORT env var); the image HEALTHCHECK probes :8000/health.
Three mounts a real deployment must keep across container recreation, each located by an env var the server reads:
| Mount | Env var | Holds |
|---|---|---|
| Config directory | TAI_MANIFEST_PATH (in TAI_CONFIG_DIR_PATH) | the manifest — the registration of every runtime-installed plugin |
| Plugin prefix | TAI_PLUGINS_PREFIX (set by the image to /app/plugins) | the installed plugin code |
| Local storage root | STORAGE_LOCAL_ROOT_PATH (set by the image to /app/templates) | the files the baked local storage provider keeps |
Persist all three, or a recreated container boots with the code and its registration out of sync and loses its stored files. The bundled Postgres and Redis keep their own named data volumes.
The image is the minimal core; channels, extra storages and backends, connectors, webhook verifiers, monitoring, accounts, and the extra tools are added per deployment:
pip install --prefix onto the persistent plugins volume, or bake plugins into a derived image. tai db migrate discovers migration chains from both the marketplace install store and the plugins prefix.See Add plugins.
Distribution semver — X.Y.Z, X.Y, X, and latest. Each tag pins the first-party tai42-* packages at a matching release, so one version story covers the whole image.
Apache-2.0. The full source of the image build lives in tai42ai/tai-distribution.
Content type
Image
Digest
sha256:89a081231…
Size
248.7 MB
Last updated
about 20 hours ago
docker pull tai42/tai