31 lines
997 B
Docker
31 lines
997 B
Docker
FROM node:25-bookworm-slim
|
|
|
|
ENV RUSTUP_HOME=/usr/local/rustup \
|
|
CARGO_HOME=/usr/local/cargo \
|
|
PATH=/usr/local/cargo/bin:$PATH
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
ca-certificates=20230311+deb12u1 \
|
|
curl=7.88.1-10+deb12u14 \
|
|
git=1:2.39.5-0+deb12u3 \
|
|
jq=1.6-2.1+deb12u1 \
|
|
g++=4:12.2.0-3 \
|
|
rclone=1.60.1+dfsg-2+b5 \
|
|
xvfb=2:21.1.7-3+deb12u11 \
|
|
xauth=1:1.1.2-1 \
|
|
--no-install-recommends \
|
|
# Install Rust
|
|
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
|
|
--default-toolchain stable \
|
|
--profile minimal \
|
|
&& rustup target add wasm32-unknown-unknown \
|
|
# Setup Playwright
|
|
&& npm i -g pnpm \
|
|
&& pnpm dlx playwright install --with-deps firefox \
|
|
# Final Cleanup
|
|
&& rm -rf /usr/local/rustup/downloads /usr/local/rustup/tmp \
|
|
&& rm -rf /usr/local/cargo/registry/index /usr/local/cargo/registry/cache \
|
|
&& rm -rf /usr/local/rustup/toolchains/*/share/doc \
|
|
&& apt-get purge -y --auto-remove \
|
|
&& rm -rf /var/lib/apt/lists/*
|