37 lines
1.8 KiB
Docker
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"]
|