61 lines
1.7 KiB
Docker
61 lines
1.7 KiB
Docker
ARG CODE_QUEUE_BASE_IMAGE=oven/bun:1-debian
|
|
FROM ${CODE_QUEUE_BASE_IMAGE}
|
|
|
|
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
|
|
|
|
RUN (command -v codex >/dev/null 2>&1 && command -v opencode >/dev/null 2>&1 && command -v docker >/dev/null 2>&1 && command -v rg >/dev/null 2>&1) \
|
|
|| (apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
bash \
|
|
bubblewrap \
|
|
ca-certificates \
|
|
curl \
|
|
docker-cli \
|
|
docker-compose \
|
|
file \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
gzip \
|
|
iproute2 \
|
|
iptables \
|
|
iputils-ping \
|
|
jq \
|
|
make \
|
|
npm \
|
|
openssh-client \
|
|
patch \
|
|
pkg-config \
|
|
procps \
|
|
python3 \
|
|
python3-pip \
|
|
ripgrep \
|
|
rsync \
|
|
tar \
|
|
tini \
|
|
unzip \
|
|
xz-utils \
|
|
&& mkdir -p /usr/local/lib/docker/cli-plugins /root/.docker/cli-plugins \
|
|
&& ln -sf /usr/bin/docker-compose /usr/local/lib/docker/cli-plugins/docker-compose \
|
|
&& ln -sf /usr/bin/docker-compose /root/.docker/cli-plugins/docker-compose \
|
|
&& npm install -g @openai/codex@0.128.0 opencode-ai@1.14.48 playwright@1.59.1 \
|
|
&& playwright install --with-deps chromium \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*)
|
|
|
|
WORKDIR /app/src/components/microservices/code-queue
|
|
COPY src/components/microservices/code-queue/package.json ./package.json
|
|
RUN test -d node_modules/typescript || bun install
|
|
WORKDIR /app
|
|
COPY package.json /app/package.json
|
|
COPY bun.lock /app/bun.lock
|
|
RUN bun install
|
|
COPY src/components/shared /app/src/components/shared
|
|
WORKDIR /app/src/components/microservices/code-queue
|
|
COPY src/components/microservices/code-queue/tsconfig.json ./tsconfig.json
|
|
COPY src/components/microservices/code-queue/src ./src
|
|
|
|
EXPOSE 4222
|
|
ENTRYPOINT ["tini", "--"]
|
|
CMD ["bun", "--smol", "run", "src/index.ts"]
|