Switch from node:22-bookworm-slim to nixos/nix:latest and install dependencies via Nix profile.
37 lines
1.1 KiB
Docker
37 lines
1.1 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.
|
|
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#git \
|
|
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"] |