mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
64 lines
2.2 KiB
Text
64 lines
2.2 KiB
Text
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"]
|