Files
coreflow/Dockerfile
T

47 lines
1.3 KiB
Docker
Raw Normal View History

2024-05-09 00:05:16 +02:00
# gitzone dockerfile_service
## STAGE 1 // BUILD
2026-04-28 12:02:22 +00:00
FROM code.foss.global/host.today/ht-docker-node:szci as node1
2024-05-09 00:05:16 +02:00
COPY ./ /app
WORKDIR /app
2026-04-28 12:02:22 +00:00
ARG SZCI_TOKEN_NPM2
ENV SZCI_TOKEN_NPM2 $SZCI_TOKEN_NPM2
RUN szci npm prepare
2024-05-09 00:05:16 +02:00
RUN pnpm config set store-dir .pnpm-store
RUN rm -rf node_modules && pnpm install
RUN pnpm run build
# gitzone dockerfile_service
## STAGE 2 // install production
2026-04-28 12:02:22 +00:00
FROM code.foss.global/host.today/ht-docker-node:szci as node2
2024-05-09 00:05:16 +02:00
WORKDIR /app
COPY --from=node1 /app /app
RUN rm -rf .pnpm-store
2026-04-28 12:02:22 +00:00
ARG SZCI_TOKEN_NPM2
ENV SZCI_TOKEN_NPM2 $SZCI_TOKEN_NPM2
RUN szci npm prepare
2024-05-09 00:05:16 +02:00
RUN pnpm config set store-dir .pnpm-store
RUN rm -rf node_modules/ && pnpm install --prod
## STAGE 3 // rebuild dependencies for alpine
2026-04-28 12:02:22 +00:00
FROM code.foss.global/host.today/ht-docker-node:alpine-szci as node3
2024-05-09 00:05:16 +02:00
WORKDIR /app
COPY --from=node2 /app /app
2026-04-28 12:02:22 +00:00
ARG SZCI_TOKEN_NPM2
ENV SZCI_TOKEN_NPM2 $SZCI_TOKEN_NPM2
RUN szci npm prepare
2024-05-09 00:05:16 +02:00
RUN pnpm config set store-dir .pnpm-store
RUN pnpm rebuild -r
## STAGE 4 // the final production image with all dependencies in place
2026-04-28 12:02:22 +00:00
FROM code.foss.global/host.today/ht-docker-node:alpine-node as node4
2024-05-09 00:05:16 +02:00
WORKDIR /app
COPY --from=node3 /app /app
### Healthchecks
RUN pnpm install -g @servezone/healthy
2024-05-09 00:05:16 +02:00
HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 CMD [ "healthy" ]
EXPOSE 80
CMD ["npm", "start"]