Files
GMW/infra/docker/Dockerfile.backend
T
MythEclipseandClaude Opus 4.6 30b03c68b1 fix(docker): copy all workspace packages and root src to Dockerfiles
pnpm install --frozen-lockfile at workspace root requires ALL workspace
members to be present. Previously vendor/ packages and root src/ were
missing, causing TS2307 'Cannot find module' errors during build.

- Copy vendor/ (discord.js-selfbot-v13, discord-video-stream, better-sqlite3, drizzle-orm)
- Copy root src/ and vite.backend.config.ts
- Copy all services/ to each Dockerfile
- Copy frontend/ and public/ assets to frontend Dockerfile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 22:09:51 +07:00

42 lines
967 B
Docker

FROM node:22-alpine
WORKDIR /app
# Install pnpm
RUN npm install -g pnpm
# Copy workspace files
COPY pnpm-workspace.yaml .
COPY pnpm-lock.yaml .
COPY package.json .
# Copy workspace packages
COPY packages/shared ./packages/shared
# Copy vendor packages (workspace dependencies)
COPY vendor/discord.js-selfbot-v13 ./vendor/discord.js-selfbot-v13
COPY vendor/discord-video-stream ./vendor/discord-video-stream
COPY vendor/better-sqlite3 ./vendor/better-sqlite3
COPY vendor/drizzle-orm ./vendor/drizzle-orm
# Copy root source (root package is a workspace member)
COPY src ./src
COPY vite.backend.config.ts .
# Copy services
COPY services/backend ./services/backend
COPY services/frontend ./services/frontend
COPY services/discord-gateway ./services/discord-gateway
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build backend
RUN pnpm --filter './services/backend' run build
# Expose port
EXPOSE 3001
# Start backend
CMD ["node", "dist/index.js"]