The node-pre-gyp and prebuild-install wrapper scripts require sed, which is not in PATH in the NixOS base container. Install coreutils first to provide sed, dirname, basename, and other core utilities needed by native module post-install scripts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40 lines
1.4 KiB
Docker
40 lines
1.4 KiB
Docker
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"]
|