Masar / Dockerfile
hsoneabadi's picture
fix: use node:22 for native WebSocket support
6ed1ea8
Raw
History Blame Contribute Delete
631 Bytes
FROM node:22-alpine AS build
RUN corepack enable && corepack prepare pnpm@10 --activate
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --no-frozen-lockfile
COPY src/ ./src/
COPY tsconfig.json ./
RUN pnpm build
FROM node:22-alpine
RUN corepack enable && corepack prepare pnpm@10 --activate
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --no-frozen-lockfile --prod
COPY --from=build /app/dist ./dist
ENV NODE_ENV=production
ENV PORT=7860
EXPOSE 7860
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD wget -qO- http://localhost:7860/api/health || exit 1
CMD ["node", "dist/index.js"]