worklenz-backend/Dockerfile
Rama main · réplica de lectura del repositorio original.
# --- Stage 1: Build ---
FROM node:22-slim AS builder
ARG RELEASE_VERSION
RUN apt-get update && apt-get install -y \
python3 \
make \
g++ \
curl \
postgresql-server-dev-all \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
RUN echo "$RELEASE_VERSION" > release
# --- Stage 2: Production Image ---
FROM node:22-slim
RUN apt-get update && apt-get install -y libpq5 && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /usr/src/app/package*.json ./
COPY --from=builder /usr/src/app/build ./build
COPY --from=builder /usr/src/app/node_modules ./node_modules
COPY --from=builder /usr/src/app/release ./release
COPY --from=builder /usr/src/app/worklenz-email-templates ./worklenz-email-templates
COPY --from=builder /usr/src/app/scripts/migrate.js ./scripts/migrate.js
COPY --from=builder /usr/src/app/scripts/migrate-bootstrap.js ./scripts/migrate-bootstrap.js
COPY --from=builder /usr/src/app/database/pg-migrations ./database/pg-migrations
EXPOSE 3000
CMD ["node", "build/bin/www"]