FROM node:20-alpine

WORKDIR /app

ENV NODE_ENV=production

RUN apk add --no-cache git ripgrep \
  && npm install -g @openai/codex@0.135.0-linux-arm64 \
  && ln -sf /usr/local/lib/node_modules/@openai/codex/vendor/aarch64-unknown-linux-musl/bin/codex /usr/local/bin/codex \
  && ln -sf /usr/local/lib/node_modules/@openai/codex/vendor/aarch64-unknown-linux-musl/codex-path/rg /usr/local/bin/codex-rg \
  && git config --system --add safe.directory '*'

COPY package.json ./
COPY server.js ./
COPY entrypoint.sh ./
COPY public ./public

RUN chmod +x /app/entrypoint.sh

EXPOSE 8787

ENTRYPOINT ["/app/entrypoint.sh"]
CMD ["node", "/app/server.js"]
