monacousa-portal/Dockerfile

28 lines
686 B
Docker
Raw Normal View History

2025-08-06 20:03:54 +02:00
ARG NODE_VERSION=22.12.0
ARG PORT=6060
FROM node:${NODE_VERSION}-slim as base
ENV NODE_ENV=production
ENV NODE_OPTIONS=--max-old-space-size=8192
WORKDIR /app
FROM base as build
COPY package.json .
COPY package-lock.json .
2025-08-06 20:03:54 +02:00
RUN npm install --production=false
COPY . .
RUN npm run build
RUN npm prune
FROM base as production
ENV PORT=$PORT
COPY --from=build /app/.output /app/.output
# Add health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD curl -f http://localhost:6060/api/health || exit 1
# Install curl for health check
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
2025-08-06 20:03:54 +02:00
CMD ["node", ".output/server/index.mjs"]