Spaces:
Running
Running
| FROM node:20-bookworm-slim AS build | |
| WORKDIR /app | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends python3 make g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY . . | |
| RUN npm ci | |
| RUN npm run build:css | |
| RUN npm prune --omit=dev | |
| FROM node:20-bookworm-slim AS runtime | |
| WORKDIR /app | |
| ENV NODE_ENV=production \ | |
| PORT=7860 \ | |
| HOST=0.0.0.0 \ | |
| HOME=/home/node \ | |
| ACCOUNT_CONFIG_PATH=/data/accounts.json | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends ca-certificates tini \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && mkdir -p /data /home/node/.config/antigravity-proxy \ | |
| && chown -R node:node /data /home/node /app | |
| COPY --from=build --chown=node:node /app/package.json ./package.json | |
| COPY --from=build --chown=node:node /app/node_modules ./node_modules | |
| COPY --from=build --chown=node:node /app/src ./src | |
| COPY --from=build --chown=node:node /app/bin ./bin | |
| COPY --from=build --chown=node:node /app/public ./public | |
| COPY --from=build --chown=node:node /app/config.example.json ./config.example.json | |
| USER node | |
| EXPOSE 7860 | |
| ENTRYPOINT ["tini", "--"] | |
| CMD ["node", "src/index.js"] | |