Spaces:
Sleeping
Sleeping
File size: 1,127 Bytes
4badc3b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 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"]
|