Files
pikasTech-agentrun/deploy/container/Containerfile
T
2026-06-13 14:28:40 +08:00

37 lines
1.8 KiB
Docker

ARG BUN_IMAGE=oven/bun:1.2.15-alpine
FROM ${BUN_IMAGE}
WORKDIR /opt/agentrun
ARG HTTP_PROXY
ARG HTTPS_PROXY
ARG NO_PROXY
ENV NODE_ENV=production
ENV PORT=8080
ENV AGENTRUN_CODEX_COMMAND=/opt/agentrun/node_modules/.bin/codex
ENV AGENTRUN_APP_ROOT=/workspace/agentrun
ENV AGENTRUN_BOOT_REPO_URL=http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/agentrun.git
RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \
apk add --no-cache ca-certificates curl git github-cli kubectl nodejs npm openssh-client ripgrep
COPY package.json bun.lock tsconfig.json ./
RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \
bun install --production
RUN /opt/agentrun/node_modules/.bin/codex --version && /opt/agentrun/node_modules/.bin/codex app-server --help >/dev/null
RUN set -eu; \
for tool in bun node npm git ssh gh rg curl kubectl; do command -v "$tool" >/dev/null; done; \
bun --version >/tmp/agentrun-work-ready-smoke.txt; \
node --version >>/tmp/agentrun-work-ready-smoke.txt; \
npm --version >>/tmp/agentrun-work-ready-smoke.txt; \
git --version >>/tmp/agentrun-work-ready-smoke.txt; \
ssh -V 2>>/tmp/agentrun-work-ready-smoke.txt || true; \
gh --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \
rg --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \
curl --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \
kubectl version --client 2>/dev/null | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt
COPY deploy/runtime/boot ./deploy/runtime/boot
RUN chmod +x /opt/agentrun/deploy/runtime/boot/*.sh
EXPOSE 8080
CMD ["/opt/agentrun/deploy/runtime/boot/agentrun-mgr.sh"]