Files
accounting/Dockerfile

39 lines
658 B
Docker
Raw Permalink Normal View History

2026-03-26 01:23:19 +08:00
ARG NODE_IMAGE=node:20-alpine
FROM ${NODE_IMAGE} AS client-builder
WORKDIR /app/client
COPY client/package.json client/package-lock.json ./
RUN npm ci
COPY client/ ./
RUN npm run build
FROM ${NODE_IMAGE} AS server-deps
WORKDIR /app/server
COPY server/package.json server/package-lock.json ./
RUN npm ci --omit=dev
FROM ${NODE_IMAGE} AS runtime
WORKDIR /app
ENV NODE_ENV=production
ENV PORT=3000
ENV TZ=Asia/Shanghai
COPY --from=server-deps /app/server/node_modules ./server/node_modules
COPY server/ ./server/
COPY --from=client-builder /app/client/dist ./client/dist
RUN mkdir -p /app/server/data
EXPOSE 3000
CMD ["node", "server/index.js"]