🔧 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,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", "--"]