diff --git a/apps/calendar/apps/backend/Dockerfile b/apps/calendar/apps/backend/Dockerfile index 129862166..268102dee 100644 --- a/apps/calendar/apps/backend/Dockerfile +++ b/apps/calendar/apps/backend/Dockerfile @@ -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"] diff --git a/apps/chat/apps/backend/Dockerfile b/apps/chat/apps/backend/Dockerfile index 9bec7862f..9665c8217 100644 --- a/apps/chat/apps/backend/Dockerfile +++ b/apps/chat/apps/backend/Dockerfile @@ -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 diff --git a/apps/clock/apps/backend/Dockerfile b/apps/clock/apps/backend/Dockerfile index a2b05c80b..2968205b7 100644 --- a/apps/clock/apps/backend/Dockerfile +++ b/apps/clock/apps/backend/Dockerfile @@ -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 diff --git a/apps/contacts/apps/backend/Dockerfile b/apps/contacts/apps/backend/Dockerfile index a67ba33b8..1c5793675 100644 --- a/apps/contacts/apps/backend/Dockerfile +++ b/apps/contacts/apps/backend/Dockerfile @@ -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 diff --git a/apps/manadeck/apps/backend/Dockerfile b/apps/manadeck/apps/backend/Dockerfile index e969fc59d..7aff1574f 100644 --- a/apps/manadeck/apps/backend/Dockerfile +++ b/apps/manadeck/apps/backend/Dockerfile @@ -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", "--"] diff --git a/apps/picture/apps/backend/Dockerfile b/apps/picture/apps/backend/Dockerfile index 14550f37a..710bb9d5f 100644 --- a/apps/picture/apps/backend/Dockerfile +++ b/apps/picture/apps/backend/Dockerfile @@ -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"] diff --git a/apps/presi/apps/backend/Dockerfile b/apps/presi/apps/backend/Dockerfile index 5298a349f..fc6c9ec31 100644 --- a/apps/presi/apps/backend/Dockerfile +++ b/apps/presi/apps/backend/Dockerfile @@ -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 diff --git a/apps/skilltree/apps/backend/Dockerfile b/apps/skilltree/apps/backend/Dockerfile index 6c03c81bc..298baf147 100644 --- a/apps/skilltree/apps/backend/Dockerfile +++ b/apps/skilltree/apps/backend/Dockerfile @@ -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 diff --git a/apps/storage/apps/backend/Dockerfile b/apps/storage/apps/backend/Dockerfile index ca7f17aaf..2552463c8 100644 --- a/apps/storage/apps/backend/Dockerfile +++ b/apps/storage/apps/backend/Dockerfile @@ -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 diff --git a/apps/todo/apps/backend/Dockerfile b/apps/todo/apps/backend/Dockerfile index 69cd9179f..b59158540 100644 --- a/apps/todo/apps/backend/Dockerfile +++ b/apps/todo/apps/backend/Dockerfile @@ -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/