webstreamr/Dockerfile
2025-05-08 20:54:09 +02:00

36 lines
766 B
Docker

FROM node:22.15-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
RUN npm ci --only=production
FROM node:22.15-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
ARG PORT
ARG MANIFEST_ID
RUN test -n "$MANIFEST_ID" || (echo "MANIFEST_ID is not set" && exit 1)
ARG MANIFEST_NAME
RUN test -n "$MANIFEST_NAME" || (echo "MANIFEST_NAME is not set" && exit 1)
ARG MANIFEST_VERSION
RUN test -n "$MANIFEST_VERSION" || (echo "MANIFEST_VERSION is not set" && exit 1)
ENV MANIFEST_ID=$MANIFEST_ID
ENV MANIFEST_NAME=$MANIFEST_NAME
ENV MANIFEST_VERSION=$MANIFEST_VERSION
ENV NODE_ENV=production
ENV PORT=$PORT
CMD ["node", "dist/server.js"]