# This Dockerfile sets up the environment for ci. # requires at least bookworm for the required versions of webkit2gtk and gtk3 FROM node:24-bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ git \ ca-certificates \ pkg-config \ libgtk-3-dev \ libgdk-pixbuf2.0-dev \ libwebkit2gtk-4.1-dev \ build-essential \ curl \ wget \ file \ libxdo-dev \ libssl-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libgdk-pixbuf2.0-dev \ xfce4 \ xfce4-goodies \ && rm -rf /var/lib/apt/lists/* # Install rustup and the stable toolchain ENV RUSTUP_HOME=/root/.rustup \ CARGO_HOME=/root/.cargo \ PATH=/root/.cargo/bin:/usr/local/cargo/bin:$PATH RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh \ && chmod +x /tmp/rustup-init.sh \ && /tmp/rustup-init.sh -y \ && rm /tmp/rustup-init.sh # Enable Corepack (for pnpm) and install latest pnpm shim RUN corepack enable \ && corepack prepare pnpm@latest --activate