Files
GMW/Dockerfile
T
MythEclipseandClaude Opus 4.6 65d5306764 fix: remove explicit git from nix profile install to resolve packinfo.pl conflict with git-minimal
yt-dlp already pulls git-minimal as a transitive dependency. Adding git
explicitly causes a file conflict on packinfo.pl. Removing git from the
install list resolves this since git-minimal provides all git functionality
needed for CI builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 12:30:49 +07:00

38 lines
1.2 KiB
Docker

FROM nixos/nix:latest
SHELL ["/bin/sh", "-c"]
ENV NIX_CONFIG="experimental-features = nix-command flakes"
# Install the runtime and build dependencies through Nix instead of apt.
# Note: git is pulled transitively by yt-dlp as git-minimal; adding git
# explicitly causes a file conflict (packinfo.pl) so we omit it here.
RUN nix profile install \
github:NixOS/nixpkgs/nixos-unstable#nodejs_22 \
github:NixOS/nixpkgs/nixos-unstable#ffmpeg \
github:NixOS/nixpkgs/nixos-unstable#python3 \
github:NixOS/nixpkgs/nixos-unstable#cacert \
github:NixOS/nixpkgs/nixos-unstable#gnumake \
github:NixOS/nixpkgs/nixos-unstable#gcc \
github:NixOS/nixpkgs/nixos-unstable#pkg-config \
github:NixOS/nixpkgs/nixos-unstable#vips \
github:NixOS/nixpkgs/nixos-unstable#yt-dlp
RUN corepack enable
WORKDIR /app
# Install deps from the app-local build context.
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml* ./
COPY vendor/discord-video-stream/package.json ./vendor/discord-video-stream/
COPY vendor/discord.js-selfbot-v13/package.json ./vendor/discord.js-selfbot-v13/
RUN pnpm install --no-frozen-lockfile
COPY . .
RUN pnpm run prepare:vendor
RUN pnpm run build
ENV NODE_ENV=production
CMD ["pnpm", "run", "start"]