| FROM node:20-slim |
|
|
| |
| USER root |
|
|
| |
| RUN apt-get update && \ |
| apt-get install -y --no-install-recommends \ |
| git \ |
| curl \ |
| ca-certificates \ |
| openssh-client \ |
| ripgrep \ |
| jq \ |
| python3 \ |
| python3-pip \ |
| python3-venv \ |
| unzip \ |
| zip \ |
| xz-utils \ |
| file \ |
| procps \ |
| less \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| |
| ENV BUN_INSTALL=/usr/local/bun |
| RUN mkdir -p ${BUN_INSTALL} && \ |
| curl -fsSL https://bun.com/install | bash && \ |
| ln -sf ${BUN_INSTALL}/bin/bun /usr/local/bin/bun && \ |
| bun --version |
|
|
| |
| RUN mkdir -p /home/node/app /home/node/workspace && \ |
| mkdir -p /home/node/chat /home/node/temp /home/node/project && \ |
| mkdir -p /home/node/.config/opencode && \ |
| chown -R 1000:1000 /home/node |
|
|
| WORKDIR /home/node/app |
|
|
| |
| USER 1000 |
| ENV HOME=/home/node |
| ENV NODE_ENV=production |
|
|
| |
| ENV PATH="/home/node/app/node_modules/.bin:/usr/local/bun/bin:${PATH}" |
|
|
| |
| COPY --chown=1000:1000 package*.json ./ |
| RUN npm install --loglevel=error --no-audit --no-fund --prefer-offline |
|
|
| |
| COPY --chown=1000:1000 . . |
|
|
| |
| |
| |
| RUN cp -f /home/node/app/opencode.jsonc /home/node/.config/opencode/opencode.json |
|
|
| EXPOSE 7860 |
| CMD ["node", "server.js"] |