| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- FROM node:20-slim AS base
- # Install pnpm
- ENV PNPM_HOME="/pnpm"
- ENV PATH="$PNPM_HOME:$PATH"
- RUN corepack enable
- RUN npm install -g npm@latest
- RUN npm install -g npm-run-all
- # Install system packages
- RUN apt update && apt install -y curl git vim jq netcat-openbsd postgresql-client
- # Install Docker cli
- RUN apt install -y apt-transport-https ca-certificates gnupg lsb-release
- RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
- RUN apt update && apt install -y docker-ce-cli
- WORKDIR /roo
- # Copy evals
- RUN git clone https://github.com/RooCodeInc/Roo-Code-Evals.git evals
- WORKDIR /roo/repo
- # Install npm packages
- RUN mkdir -p \
- scripts \
- apps/web-evals \
- packages/config-eslint \
- packages/config-typescript \
- packages/evals \
- packages/ipc \
- packages/types \
- packages/cloud
- COPY ./package.json ./
- COPY ./pnpm-lock.yaml ./
- COPY ./pnpm-workspace.yaml ./
- COPY ./scripts/bootstrap.mjs ./scripts/
- COPY ./apps/web-evals/package.json ./apps/web-evals/
- COPY ./packages/config-eslint/package.json ./packages/config-eslint/
- COPY ./packages/config-typescript/package.json ./packages/config-typescript/
- COPY ./packages/evals/package.json ./packages/evals/
- COPY ./packages/ipc/package.json ./packages/ipc/
- COPY ./packages/types/package.json ./packages/types/
- COPY ./packages/cloud/package.json ./packages/cloud/
- RUN pnpm install
- # Copy source code
- COPY . ./
- # Build the web-evals app
- RUN pnpm --filter @roo-code/web-evals build
- # Copy entrypoint script
- COPY packages/evals/.docker/entrypoints/web.sh /usr/local/bin/entrypoint.sh
- RUN chmod +x /usr/local/bin/entrypoint.sh
- ENV DATABASE_URL=postgresql://postgres:password@db:5432/evals_development
- ENV REDIS_URL=redis://redis:6379
- EXPOSE 3446
- ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|