fix: switch to node:22-slim, install deps from npm, remove vendor

This commit is contained in:
asepharyana
2026-07-02 04:07:18 +07:00
parent 1495211a61
commit fa82593a38
5 changed files with 129 additions and 3025 deletions
+3 -4
View File
@@ -1,4 +1,4 @@
FROM node:22-alpine
FROM node:22-slim
WORKDIR /app
@@ -6,11 +6,10 @@ WORKDIR /app
RUN npm install -g pnpm
# Install build tools for native dependencies (node-crc, @discordjs/opus)
# @discordjs/voice is a shared workspace dependency needed even by backend
RUN apk add --no-cache python3 make g++
RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends python3 make g++ wget && rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN addgroup -S app && adduser -S -G app app
RUN groupadd --system app && useradd --system -g app app
# Copy dependency definition files first for better caching
COPY pnpm-workspace.yaml .
+9 -6
View File
@@ -1,4 +1,4 @@
FROM node:22-alpine
FROM node:22-slim
WORKDIR /app
@@ -6,12 +6,18 @@ WORKDIR /app
RUN npm install -g pnpm
# Create non-root user
RUN addgroup -S app && adduser -S -G app app
RUN groupadd --system app && useradd --system -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
RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \
python3 make g++ ffmpeg curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Install Rust via rustup (Debian's rustc/cargo is too old for node-crc)
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
ENV PATH="/root/.cargo/bin:${PATH}"
# Copy dependency definition files first for better caching
COPY pnpm-workspace.yaml .
@@ -21,9 +27,6 @@ COPY package.json .
# Copy patches (pnpm patchedDependencies)
COPY patches ./patches
# Copy vendor packages (workspace dependencies)
COPY vendor/discord.js-selfbot-v13 ./vendor/discord.js-selfbot-v13
# Copy packages (workspace dependencies)
COPY packages/shared ./packages/shared
+115 -3011
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -3,8 +3,6 @@ packages:
- services/backend
- services/discord-gateway
- packages/shared
- vendor/discord-video-stream
- vendor/discord.js-selfbot-v13
allowBuilds:
'@discordjs/opus': true
@@ -33,5 +31,4 @@ onlyBuiltDependencies:
- zeromq
patchedDependencies:
jsdoc@3.6.11: patches/jsdoc@3.6.11.patch
node-crc@4.0.0: patches/node-crc@4.0.0.patch
+2 -1
View File
@@ -20,7 +20,8 @@
"@discordjs/voice": "^0.19.2",
"@snazzah/davey": "^0.1.11",
"axios": "^1.16.1",
"discord.js-selfbot-v13": "workspace:*",
"discord.js-selfbot-v13": "^3.7.1",
"@dank074/discord-video-stream": "latest",
"dotenv": "^17.4.2",
"drizzle-orm": "^0.45.2",
"imghash": "^1.1.4",