FROM nixos/nix:latest SHELL ["/bin/sh", "-c"] ENV NIX_CONFIG="experimental-features = nix-command flakes" # Install the system tools needed for native module post-install scripts. # Note: NixOS base image does NOT include coreutils (sed, etc.) in PATH. # The node-pre-gyp and prebuild-install wrappers require sed. ARG NIXPKGS_COMMIT=64c08a7ca051951c8eae34e3e3cb1e202fe36786 RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#coreutils" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#nodejs_22" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#ffmpeg" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#python3" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#gnumake" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#gcc" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#pkg-config" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#vips" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#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"]