🔧 fix(docker): add missing shared packages to all backend Dockerfiles

All backend Dockerfiles were missing required shared package dependencies,
causing CI builds to fail with TypeScript compilation errors.

Fixed Dockerfiles:
- chat: added credit-operations, nestjs-integration, health, metrics, setup, tsconfig
- todo: added credit-operations, nestjs-integration, health, metrics, tsconfig
- contacts: added health, metrics, setup, tsconfig
- calendar: added credit-operations, nestjs-integration, health, metrics, setup, tsconfig
- presi: added health, setup, tsconfig
- picture: added credit-operations, nestjs-integration, health, storage, tsconfig
- clock: added health, metrics, setup, tsconfig
- storage: added health, tsconfig
- manadeck: added credit-operations, tsconfig
- skilltree: added health, metrics, tsconfig

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Till-JS 2026-02-11 16:47:00 +01:00
parent 21d50d1e0b
commit e7e6281d54
10 changed files with 171 additions and 31 deletions

View file

@ -11,9 +11,15 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/credit-operations ./packages/credit-operations
COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-nestjs-setup ./packages/shared-nestjs-setup
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy calendar packages and backend
COPY apps/calendar/packages ./apps/calendar/packages
@ -22,13 +28,28 @@ COPY apps/calendar/apps/backend ./apps/calendar/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-setup
RUN pnpm build
WORKDIR /app/packages/credit-operations
RUN pnpm build
WORKDIR /app/packages/mana-core-nestjs-integration
RUN pnpm build
# Build the backend
WORKDIR /app/apps/calendar/apps/backend
RUN pnpm build
@ -57,11 +78,11 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh
WORKDIR /app/apps/calendar/apps/backend
# Expose port
EXPOSE 3016
EXPOSE 3014
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:3016/api/v1/health || exit 1
CMD wget --no-verbose --tries=1 --spider http://localhost:3014/api/v1/health || exit 1
# Run entrypoint script
ENTRYPOINT ["docker-entrypoint.sh"]

View file

@ -11,10 +11,16 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/credit-operations ./packages/credit-operations
COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-nestjs-setup ./packages/shared-nestjs-setup
COPY packages/shared-storage ./packages/shared-storage
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy chat backend
COPY apps/chat/apps/backend ./apps/chat/apps/backend
@ -22,16 +28,31 @@ COPY apps/chat/apps/backend ./apps/chat/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-setup
RUN pnpm build
WORKDIR /app/packages/shared-storage
RUN pnpm build
WORKDIR /app/packages/credit-operations
RUN pnpm build
WORKDIR /app/packages/mana-core-nestjs-integration
RUN pnpm build
# Build the backend
WORKDIR /app/apps/chat/apps/backend
RUN pnpm build

View file

@ -11,9 +11,13 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-nestjs-setup ./packages/shared-nestjs-setup
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy clock packages and backend
COPY apps/clock/packages ./apps/clock/packages
@ -22,13 +26,22 @@ COPY apps/clock/apps/backend ./apps/clock/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-setup
RUN pnpm build
# Build the backend
WORKDIR /app/apps/clock/apps/backend
RUN pnpm build

View file

@ -11,10 +11,14 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-nestjs-setup ./packages/shared-nestjs-setup
COPY packages/shared-storage ./packages/shared-storage
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy contacts backend
COPY apps/contacts/apps/backend ./apps/contacts/apps/backend
@ -22,13 +26,22 @@ COPY apps/contacts/apps/backend ./apps/contacts/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-setup
RUN pnpm build
WORKDIR /app/packages/shared-storage
RUN pnpm build

View file

@ -11,10 +11,13 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
COPY packages/shared-errors ./packages/shared-errors
COPY packages/manadeck-database ./packages/manadeck-database
# Copy shared packages (all required dependencies)
COPY packages/credit-operations ./packages/credit-operations
COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration
COPY packages/manadeck-database ./packages/manadeck-database
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy manadeck backend
COPY apps/manadeck/apps/backend ./apps/manadeck/apps/backend
@ -22,13 +25,19 @@ COPY apps/manadeck/apps/backend ./apps/manadeck/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/manadeck-database
RUN pnpm build
WORKDIR /app/packages/credit-operations
RUN pnpm build
WORKDIR /app/packages/mana-core-nestjs-integration
RUN pnpm build
@ -66,7 +75,7 @@ USER nodejs
WORKDIR /app/apps/manadeck/apps/backend
# Expose the port
ARG PORT=3003
ARG PORT=3009
EXPOSE ${PORT}
# Set environment to production
@ -74,7 +83,7 @@ ENV NODE_ENV=production
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD node -e "require('http').get('http://localhost:' + (process.env.PORT || 3003) + '/api/health', (r) => {r.statusCode === 200 ? process.exit(0) : process.exit(1)})" || exit 1
CMD node -e "require('http').get('http://localhost:' + (process.env.PORT || 3009) + '/api/health', (r) => {r.statusCode === 200 ? process.exit(0) : process.exit(1)})" || exit 1
# Use dumb-init to handle signals properly
ENTRYPOINT ["dumb-init", "--"]

View file

@ -11,8 +11,14 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/credit-operations ./packages/credit-operations
COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-storage ./packages/shared-storage
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy picture backend
COPY apps/picture/apps/backend ./apps/picture/apps/backend
@ -20,10 +26,25 @@ COPY apps/picture/apps/backend ./apps/picture/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-storage
RUN pnpm build
WORKDIR /app/packages/credit-operations
RUN pnpm build
WORKDIR /app/packages/mana-core-nestjs-integration
RUN pnpm build
# Build the backend
WORKDIR /app/apps/picture/apps/backend
RUN pnpm build
@ -52,11 +73,11 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh
WORKDIR /app/apps/picture/apps/backend
# Expose port
EXPOSE 3003
EXPOSE 3006
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:3003/api/health || exit 1
CMD wget --no-verbose --tries=1 --spider http://localhost:3006/api/health || exit 1
# Run entrypoint script
ENTRYPOINT ["docker-entrypoint.sh"]

View file

@ -11,23 +11,33 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-setup ./packages/shared-nestjs-setup
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy presi backend
# Copy presi packages and backend
COPY apps/presi/packages ./apps/presi/packages
COPY apps/presi/apps/backend ./apps/presi/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-setup
RUN pnpm build
# Build the backend
WORKDIR /app/apps/presi/apps/backend
RUN pnpm build

View file

@ -11,9 +11,12 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy skilltree backend
COPY apps/skilltree/apps/backend ./apps/skilltree/apps/backend
@ -21,13 +24,19 @@ COPY apps/skilltree/apps/backend ./apps/skilltree/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
# Build the backend
WORKDIR /app/apps/skilltree/apps/backend
RUN pnpm build

View file

@ -11,10 +11,12 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-storage ./packages/shared-storage
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy storage backend
COPY apps/storage/apps/backend ./apps/storage/apps/backend
@ -22,13 +24,16 @@ COPY apps/storage/apps/backend ./apps/storage/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-storage
RUN pnpm build

View file

@ -11,23 +11,41 @@ COPY pnpm-workspace.yaml ./
COPY package.json ./
COPY pnpm-lock.yaml ./
# Copy shared packages
# Copy shared packages (all required dependencies)
COPY packages/credit-operations ./packages/credit-operations
COPY packages/mana-core-nestjs-integration ./packages/mana-core-nestjs-integration
COPY packages/shared-errors ./packages/shared-errors
COPY packages/shared-nestjs-auth ./packages/shared-nestjs-auth
COPY packages/shared-nestjs-health ./packages/shared-nestjs-health
COPY packages/shared-nestjs-metrics ./packages/shared-nestjs-metrics
COPY packages/shared-tsconfig ./packages/shared-tsconfig
# Copy todo backend
# Copy todo shared package and backend
COPY apps/todo/packages ./apps/todo/packages
COPY apps/todo/apps/backend ./apps/todo/apps/backend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build shared packages first
# Build shared packages first (in dependency order)
WORKDIR /app/packages/shared-errors
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-auth
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-health
RUN pnpm build
WORKDIR /app/packages/shared-nestjs-metrics
RUN pnpm build
WORKDIR /app/packages/credit-operations
RUN pnpm build
WORKDIR /app/packages/mana-core-nestjs-integration
RUN pnpm build
# Build the backend
WORKDIR /app/apps/todo/apps/backend
RUN pnpm build
@ -47,7 +65,7 @@ COPY --from=builder /app/package.json ./
COPY --from=builder /app/pnpm-lock.yaml ./
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/packages ./packages
COPY --from=builder /app/apps/todo/apps/backend ./apps/todo/apps/backend
COPY --from=builder /app/apps/todo ./apps/todo
# Copy entrypoint script
COPY apps/todo/apps/backend/docker-entrypoint.sh /usr/local/bin/