27 lines
766 B
Docker
27 lines
766 B
Docker
# gitzone dockerfile_service
|
|
## STAGE 1 // BUILD
|
|
FROM code.foss.global/host.today/ht-docker-node:lts AS build
|
|
COPY ./ /app
|
|
WORKDIR /app
|
|
RUN pnpm config set store-dir .pnpm-store
|
|
RUN rm -rf node_modules && pnpm install
|
|
RUN pnpm run build
|
|
RUN rm -rf .pnpm-store node_modules && pnpm install --prod
|
|
|
|
## STAGE 2 // PRODUCTION
|
|
FROM code.foss.global/host.today/ht-docker-node:alpine-node AS production
|
|
|
|
# gcompat + libstdc++ for glibc-linked Rust binaries (smartproxy, smartmta, remoteingress)
|
|
RUN apk add --no-cache gcompat libstdc++
|
|
|
|
WORKDIR /app
|
|
COPY --from=build /app /app
|
|
|
|
ENV DCROUTER_MODE=OCI_CONTAINER
|
|
|
|
RUN pnpm install -g @servezone/healthy
|
|
HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 CMD [ "healthy" ]
|
|
|
|
EXPOSE 80
|
|
CMD ["npm", "start"]
|