tiro-corporate (87bed81e09)
Published 2026-09-25 20:47:15 +00:00 by dev
Installation
docker pull git.codelab.vc/ai/tiro-corporate:87bed81e09sha256:a8c3597b971c857968a15f9e3fb45c6ae46a309bda335bc79c3d474f0d64f30d
Images
| Digest | OS / Arch | Size |
|---|---|---|
| 984189a204 | linux/amd64 | 746 MiB |
Image Layers ( linux/amd64)
| # debian.sh --arch 'amd64' out/ 'trixie' '@1777939200' |
| ENV PYTHONUNBUFFERED=1 |
| ENV PYTHONDONTWRITEBYTECODE=1 |
| ENV PLAYWRIGHT_BROWSERS_PATH=/opt/tiro/.playwright |
| ARG TIRO_IMAGE_PROFILE=corporate |
| RUN |1 TIRO_IMAGE_PROFILE=corporate /bin/sh -c full="gcc g++ make cmake python3-dev libffi-dev libolm-dev docker-cli"; [ "$TIRO_IMAGE_PROFILE" = corporate ] && full=""; apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 install -y --no-install-recommends ca-certificates curl iputils-ping python3 python-is-python3 ripgrep ffmpeg python3-venv libatomic1 procps git openssh-client xz-utils $full && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY /opt/sqlite-fixed/lib/libsqlite3.so.3.53.4 /usr/local/lib/ # buildkit |
| RUN |1 TIRO_IMAGE_PROFILE=corporate /bin/sh -c ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so.0 && ln -sf libsqlite3.so.3.53.4 /usr/local/lib/libsqlite3.so && printf '/usr/local/lib\n' > /etc/ld.so.conf.d/000-sqlite-fixed.conf && ldconfig && python3 -c "import sqlite3, sys; v = sqlite3.sqlite_version_info; sys.exit(f'linked SQLite {sqlite3.sqlite_version} still has the WAL-reset bug') if v < (3, 51, 3) else None; db = sqlite3.connect(':memory:'); db.execute(\"CREATE VIRTUAL TABLE docs USING fts5(content, tokenize='trigram')\"); sample = 'tiro'; db.execute(\"INSERT INTO docs VALUES (?)\", (sample,)); sys.exit('SQLite FTS5 trigram self-test failed') if db.execute(\"SELECT count(*) FROM docs WHERE docs MATCH ?\", (sample[:3],)).fetchone()[0] != 1 else None; db.close()" # buildkit |
| ARG TARGETARCH=amd64 |
| ARG S6_OVERLAY_VERSION=3.2.3.0 |
| ARG S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf |
| ARG S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 |
| ARG S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 |
| ARG S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; case "${TARGETARCH:-amd64}" in amd64) s6_arch="x86_64"; s6_arch_sha="${S6_OVERLAY_X86_64_SHA256}" ;; arm64) s6_arch="aarch64"; s6_arch_sha="${S6_OVERLAY_AARCH64_SHA256}" ;; *) echo "Unsupported TARGETARCH=${TARGETARCH} for s6-overlay" >&2; exit 1 ;; esac; base="https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}"; curl -fsSL --retry 3 -o /tmp/s6-overlay-noarch.tar.xz "${base}/s6-overlay-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-symlinks-noarch.tar.xz "${base}/s6-overlay-symlinks-noarch.tar.xz"; curl -fsSL --retry 3 -o /tmp/s6-overlay-arch.tar.xz "${base}/s6-overlay-${s6_arch}.tar.xz"; { printf '%s %s\n' "${S6_OVERLAY_NOARCH_SHA256}" /tmp/s6-overlay-noarch.tar.xz; printf '%s %s\n' "${s6_arch_sha}" /tmp/s6-overlay-arch.tar.xz; printf '%s %s\n' "${S6_OVERLAY_SYMLINKS_SHA256}" /tmp/s6-overlay-symlinks-noarch.tar.xz; } > /tmp/s6-overlay.sha256; sha256sum -c /tmp/s6-overlay.sha256; tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-arch.tar.xz; tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz; rm /tmp/s6-overlay-*.tar.xz /tmp/s6-overlay.sha256 # buildkit |
| COPY --chmod=0755 docker/tini-shim.sh /usr/bin/tini # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c useradd -u 10000 -m -d /opt/data tiro # buildkit |
| COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit |
| COPY --chmod=0755 /usr/local/bin/node /usr/local/bin/ # buildkit |
| COPY /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && ln -sf /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx # buildkit |
| WORKDIR /opt/tiro |
| ENV npm_config_install_links=false |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c for i in 1 2 3; do npx -y playwright@1.62.1 install --with-deps chromium --only-shell && break || { [ "$i" = 3 ] && exit 1; echo "playwright install failed (attempt $i); retrying in 10s"; sleep 10; }; done && npm cache clean --force # buildkit |
| COPY plugins/platforms/photon/sidecar/package.json plugins/platforms/photon/sidecar/package-lock.json plugins/platforms/photon/sidecar/patch-spectrum-mixed-attachments.mjs plugins/platforms/photon/sidecar/ # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c [ "$TIRO_IMAGE_PROFILE" = corporate ] || { cd plugins/platforms/photon/sidecar && npm ci --no-audit --fetch-retries=5 && npm cache clean --force; } # buildkit |
| ARG TARGETARCH=amd64 |
| COPY corporate/connectors/ /opt/mcp/src/ # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c set -eu; export UV_LINK_MODE=hardlink; for lock in /opt/mcp/src/*.txt; do name=$(basename "$lock" .txt); [ "$name" = binaries ] && continue; uv venv --quiet --python /usr/bin/python3 "/opt/mcp/$name"; uv pip install --quiet --python "/opt/mcp/$name/bin/python" --require-hashes --no-deps -r "$lock"; done; cp -r /opt/mcp/src/tiro_connectors "$(/opt/mcp/tiro/bin/python -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')/"; for lock in /opt/mcp/src/*/package-lock.json; do name=$(basename "$(dirname "$lock")"); cp -r "/opt/mcp/src/$name" "/opt/mcp/$name"; (cd "/opt/mcp/$name" && npm ci --ignore-scripts --omit=dev --no-audit --fetch-retries=5); done; grep -v '^#' /opt/mcp/src/binaries.txt | while read -r name arch sum url; do [ "$arch" = "${TARGETARCH:-amd64}" ] || continue; curl -fsSL --retry 5 -o /tmp/binary.tar.gz "$url"; echo "$sum /tmp/binary.tar.gz" | sha256sum -c -; mkdir -p "/opt/mcp/$name"; tar -xzf /tmp/binary.tar.gz -C "/opt/mcp/$name" "$name"; rm /tmp/binary.tar.gz; done; rm -rf /opt/mcp/src; npm cache clean --force; uv cache clean # buildkit |
| COPY pyproject.toml uv.lock ./ # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c touch ./README.md # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c extras="--extra all --extra otlp --extra anthropic --extra bedrock --extra azure-identity --extra hindsight"; [ "$TIRO_IMAGE_PROFILE" = corporate ] || extras="$extras --extra messaging --extra matrix --extra google-chat"; uv sync --frozen --no-install-project $extras && uv cache clean # buildkit |
| COPY --chmod=a+rX,go-w . . # buildkit |
| COPY --chmod=a+rX,go-w /opt/tiro/tiro_cli/web_dist/ tiro_cli/web_dist/ # buildkit |
| COPY --chmod=a+rX,go-w /opt/tiro/ui-tui/dist/ ui-tui/dist/ # buildkit |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c uv pip install --no-cache-dir --no-deps -e "." # buildkit |
| USER root |
| RUN |7 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e /bin/sh -c mkdir -p /opt/tiro/bin && cp /opt/tiro/docker/tiro-exec-shim.sh /opt/tiro/bin/tiro && chmod 0755 /opt/tiro /opt/tiro/bin/tiro && printf 'docker\n' > /opt/tiro/.install_method # buildkit |
| ARG TIRO_GIT_SHA=87bed81e09 |
| RUN |8 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e TIRO_GIT_SHA=87bed81e09 /bin/sh -c set -eu; if [ -n "${TIRO_GIT_SHA}" ]; then printf '%s\n' "${TIRO_GIT_SHA}" > /opt/tiro/.tiro_build_sha; fi; mkdir -p /etc/tiro; TIRO_GIT_SHA="${TIRO_GIT_SHA}" python3 -c 'import json, os, pathlib, tomllib; project = tomllib.loads(pathlib.Path("/opt/tiro/pyproject.toml").read_text(encoding="utf-8"))["project"]; marker = pathlib.Path("/etc/tiro/image-provenance.json"); marker.write_text(json.dumps({"schema": 1, "deployment_kind": "image", "manager": "docker", "image": "ai/tiro-agent", "version": project["version"], "revision": os.environ.get("TIRO_GIT_SHA") or None}, sort_keys=True, separators=(",", ":")) + "\n", encoding="utf-8"); marker.chmod(0o444)' # buildkit |
| COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit |
| RUN |8 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e TIRO_GIT_SHA=87bed81e09 /bin/sh -c mkdir -p /etc/cont-init.d && printf '#!/command/with-contenv sh\nexec /opt/tiro/docker/stage2-hook.sh\n' > /etc/cont-init.d/01-tiro-setup && chmod +x /etc/cont-init.d/01-tiro-setup # buildkit |
| COPY --chmod=0755 docker/cont-init.d/015-supervise-perms /etc/cont-init.d/015-supervise-perms # buildkit |
| COPY --chmod=0755 docker/cont-init.d/02-reconcile-profiles /etc/cont-init.d/02-reconcile-profiles # buildkit |
| ENV TIRO_WEB_DIST=/opt/tiro/tiro_cli/web_dist |
| ENV TIRO_TUI_DIR=/opt/tiro/ui-tui |
| ENV TIRO_HOME=/opt/data |
| ENV TIRO_WRITE_SAFE_ROOT=/opt/data |
| ENV TIRO_DISABLE_LAZY_INSTALLS=1 |
| ENV TIRO_LAZY_INSTALL_TARGET=/opt/data/lazy-packages |
| COPY --chmod=0755 docker/tiro-exec-shim.sh /opt/tiro/bin/tiro # buildkit |
| COPY --chmod=0755 docker/entrypoint-dispatch.sh /opt/tiro/docker/entrypoint-dispatch.sh # buildkit |
| ENV PATH=/opt/tiro/bin:/opt/tiro/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |8 TIRO_IMAGE_PROFILE=corporate TARGETARCH=amd64 S6_OVERLAY_VERSION=3.2.3.0 S6_OVERLAY_NOARCH_SHA256=b720f9d9340efc8bb07528b9743813c836e4b02f8693d90241f047998b4c53cf S6_OVERLAY_X86_64_SHA256=a93f02882c6ed46b21e7adb5c0add86154f01236c93cd82c7d682722e8840563 S6_OVERLAY_AARCH64_SHA256=0952056ff913482163cc30e35b2e944b507ba1025d78f5becbb89367bf344581 S6_OVERLAY_SYMLINKS_SHA256=a60dc5235de3ecbcf874b9c1f18d73263ab99b289b9329aa950e8729c4789f0e TIRO_GIT_SHA=87bed81e09 /bin/sh -c mkdir -p /opt/data # buildkit |
| VOLUME [/opt/data] |
| ENTRYPOINT ["/opt/tiro/docker/entrypoint-dispatch.sh"] |
| CMD [] |
Details
2026-09-25 20:47:15 +00:00
Versions (19)
View all
Container
1
OCI / Docker
0ff21813ce
2026-09-27
00b235c2cd
2026-09-27
94da9d9911
2026-09-27
dd3526e1d2
2026-09-27
3e8981b0da
2026-09-26