Sign inSign up

tai42/tai

By tai42

•Updated about 20 hours ago

tai42 platform image: minimal core, multi-arch — serve (API+Studio), worker, and metrics in one.

Image
0

10K+

tai42/tai repository overview

⁠tai

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.

⁠How to use this image

The entrypoint is tai; the default command is serve.

CommandRole
tai serveHTTP server (MCP + Studio SPA, same origin) — default
tai backend workerTask backend worker (arq by default)
tai metricsStandalone 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

⁠Configuration

/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.

⁠Where to store data

Three mounts a real deployment must keep across container recreation, each located by an env var the server reads:

MountEnv varHolds
Config directoryTAI_MANIFEST_PATH (in TAI_CONFIG_DIR_PATH)the manifest — the registration of every runtime-installed plugin
Plugin prefixTAI_PLUGINS_PREFIX (set by the image to /app/plugins)the installed plugin code
Local storage rootSTORAGE_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.

⁠Adding plugins

The image is the minimal core; channels, extra storages and backends, connectors, webhook verifiers, monitoring, accounts, and the extra tools are added per deployment:

  • Runtime, via the marketplace — install, update, and uninstall against a running server through the marketplace API or Studio; no rebuild.
  • Pre-installed prefix or derived image — 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⁠.

⁠Tags

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.

⁠License

Apache-2.0. The full source of the image build lives in tai42ai/tai-distribution⁠.

Tag summary

Content type

Image

Digest

sha256:89a081231…

Size

248.7 MB

Last updated

about 20 hours ago

docker pull tai42/tai