FROM oven/bun:1.2.15-alpine

WORKDIR /app
ARG HTTP_PROXY
ARG HTTPS_PROXY
ARG NO_PROXY
ENV NODE_ENV=production
ENV PORT=8080
ENV AGENTRUN_CODEX_COMMAND=/app/node_modules/.bin/codex

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 git kubectl nodejs openssh-client

COPY package.json 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 /app/node_modules/.bin/codex --version && /app/node_modules/.bin/codex app-server --help >/dev/null
COPY scripts ./scripts
COPY src ./src
COPY deploy/deploy.json ./deploy/deploy.json

EXPOSE 8080
CMD ["bun", "src/mgr/main.ts"]
