Files
tools-show/Dockerfile

37 lines
884 B
Docker
Raw Permalink Normal View History

2026-03-27 10:18:26 +08:00
ARG NODE_IMAGE=docker.m.daocloud.io/library/node:20-alpine
FROM ${NODE_IMAGE} AS client-builder
WORKDIR /build/client
COPY client/package*.json ./
RUN npm ci
COPY client/ ./
RUN npm run build
FROM ${NODE_IMAGE} AS server-builder
WORKDIR /build/server
COPY server/package*.json ./
RUN npm ci
COPY server/ ./
RUN npx prisma generate
RUN npm run build
FROM ${NODE_IMAGE} AS runtime
WORKDIR /app/server
ENV NODE_ENV=production
ENV PORT=3000
2026-03-30 10:08:59 +08:00
ENV CLIENT_DIST_PATH=/app/server/public
2026-03-27 10:18:26 +08:00
COPY server/package*.json ./
RUN npm ci --omit=dev
COPY --from=server-builder /build/server/dist ./dist
COPY --from=server-builder /build/server/prisma ./prisma
2026-03-30 10:08:59 +08:00
RUN npx prisma generate
2026-03-27 10:18:26 +08:00
COPY --from=client-builder /build/client/dist ./public
2026-04-08 17:56:12 +08:00
COPY docker/runtime-entrypoint.sh /usr/local/bin/toolsshow-entrypoint
RUN chmod +x /usr/local/bin/toolsshow-entrypoint
2026-03-27 10:18:26 +08:00
EXPOSE 3000
2026-04-08 17:56:12 +08:00
CMD ["toolsshow-entrypoint"]