FROM rust:1.90-bookworm AS builder
WORKDIR /src
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release --bin tt
FROM debian:bookworm-slim AS runtime
ARG CODEX_NPM_VERSION=0.118.0
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash \
ca-certificates \
curl \
git \
nodejs \
npm \
openssh-client \
tini \
&& npm install -g "@openai/codex@${CODEX_NPM_VERSION}" \
&& npm cache clean --force \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
COPY --from=builder /src/target/release/tt /usr/local/bin/tt
COPY docker/agent-worker-entrypoint.sh /usr/local/bin/agent-worker-entrypoint
RUN chmod +x /usr/local/bin/agent-worker-entrypoint
ENTRYPOINT ["tini", "--", "agent-worker-entrypoint"]