mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:01:08 +02:00
🐛 fix(matrix-bots): switch to node:20-slim for native module support
- Changed base images from Alpine to Debian slim (glibc vs musl) - Removed --ignore-scripts to allow native module builds - Fixed user creation commands for Debian-based images The matrix-bot-sdk requires @matrix-org/matrix-sdk-crypto-nodejs which needs platform-specific native binaries. Alpine's musl libc causes compatibility issues with these modules. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
02604e6d1c
commit
a384bed181
10 changed files with 62 additions and 62 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-calendar-bot ./services/matrix-calendar-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-calendar-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-calendar-bot/dist ./services/matrix-cal
|
|||
COPY --from=builder /app/services/matrix-calendar-bot/package.json ./services/matrix-calendar-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-clock-bot ./services/matrix-clock-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-clock-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-clock-bot/dist ./services/matrix-clock-
|
|||
COPY --from=builder /app/services/matrix-clock-bot/package.json ./services/matrix-clock-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -16,8 +16,8 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
# Copy this bot
|
||||
COPY services/matrix-mana-bot ./services/matrix-mana-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
# Install all dependencies (allow scripts for native modules)
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter matrix-mana-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -47,15 +47,15 @@ COPY --from=builder /app/packages/matrix-bot-common/package.json ./packages/matr
|
|||
COPY --from=builder /app/services/matrix-mana-bot/dist ./services/matrix-mana-bot/dist
|
||||
COPY --from=builder /app/services/matrix-mana-bot/package.json ./services/matrix-mana-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
# Install production dependencies (allow scripts for native modules)
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-nutriphi-bot ./services/matrix-nutriphi-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-nutriphi-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-nutriphi-bot/dist ./services/matrix-nut
|
|||
COPY --from=builder /app/services/matrix-nutriphi-bot/package.json ./services/matrix-nutriphi-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-ollama-bot ./services/matrix-ollama-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-ollama-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-ollama-bot/dist ./services/matrix-ollam
|
|||
COPY --from=builder /app/services/matrix-ollama-bot/package.json ./services/matrix-ollama-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-project-doc-bot ./services/matrix-project-doc-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-project-doc-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-project-doc-bot/dist ./services/matrix-
|
|||
COPY --from=builder /app/services/matrix-project-doc-bot/package.json ./services/matrix-project-doc-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-stats-bot ./services/matrix-stats-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-stats-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-stats-bot/dist ./services/matrix-stats-
|
|||
COPY --from=builder /app/services/matrix-stats-bot/package.json ./services/matrix-stats-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-todo-bot ./services/matrix-todo-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-todo-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-todo-bot/dist ./services/matrix-todo-bo
|
|||
COPY --from=builder /app/services/matrix-todo-bot/package.json ./services/matrix-todo-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-tts-bot ./services/matrix-tts-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-tts-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-tts-bot/dist ./services/matrix-tts-bot/
|
|||
COPY --from=builder /app/services/matrix-tts-bot/package.json ./services/matrix-tts-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ COPY packages/matrix-bot-common ./packages/matrix-bot-common
|
|||
COPY services/matrix-zitare-bot ./services/matrix-zitare-bot
|
||||
|
||||
# Install all dependencies
|
||||
RUN pnpm install --frozen-lockfile --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Build shared packages first (in dependency order)
|
||||
RUN pnpm --filter @manacore/bot-services build
|
||||
|
|
@ -27,7 +27,7 @@ RUN pnpm --filter @manacore/matrix-bot-common build
|
|||
RUN pnpm --filter @manacore/matrix-zitare-bot build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine AS runner
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -48,14 +48,14 @@ COPY --from=builder /app/services/matrix-zitare-bot/dist ./services/matrix-zitar
|
|||
COPY --from=builder /app/services/matrix-zitare-bot/package.json ./services/matrix-zitare-bot/
|
||||
|
||||
# Install production dependencies only
|
||||
RUN pnpm install --frozen-lockfile --prod --ignore-scripts
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup --system --gid 1001 nodejs && \
|
||||
adduser --system --uid 1001 nestjs && \
|
||||
RUN groupadd --system --gid 1001 nodejs && \
|
||||
useradd --system --uid 1001 -g nodejs nestjs && \
|
||||
chown -R nestjs:nodejs /app
|
||||
|
||||
USER nestjs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue