diff --git a/infra/docker/Dockerfile.backend b/infra/docker/Dockerfile.backend index e832c08..79ca8f8 100644 --- a/infra/docker/Dockerfile.backend +++ b/infra/docker/Dockerfile.backend @@ -1,4 +1,4 @@ -FROM node:22-slim +FROM node:22-alpine WORKDIR /app @@ -6,10 +6,11 @@ WORKDIR /app RUN npm install -g pnpm # Install build tools for native dependencies (node-crc, @discordjs/opus) -RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends python3 make g++ wget && rm -rf /var/lib/apt/lists/* +# @discordjs/voice is a shared workspace dependency needed even by backend +RUN apk add --no-cache python3 make g++ # Create non-root user -RUN groupadd --system app && useradd --system -g app app +RUN addgroup -S app && adduser -S -G app app # Copy dependency definition files first for better caching COPY pnpm-workspace.yaml . diff --git a/infra/docker/Dockerfile.discord-gateway b/infra/docker/Dockerfile.discord-gateway index e89ef9f..8167c41 100644 --- a/infra/docker/Dockerfile.discord-gateway +++ b/infra/docker/Dockerfile.discord-gateway @@ -11,10 +11,7 @@ RUN addgroup -S app && adduser -S -G app app # Install build tools for native dependencies (node-crc, @discordjs/opus) # and ffmpeg for voice transmit (PCM to OggOpus encoding) # This is done early to cache this expensive layer -RUN apk add --no-cache python3 make g++ rust cargo ffmpeg linux-headers - -# Use bundled node headers for native addon compilation -ENV npm_config_nodedir=/usr/local +RUN apk add --no-cache python3 make g++ rust cargo ffmpeg # Copy dependency definition files first for better caching COPY pnpm-workspace.yaml .