# Pre-baked builder for Linux amd64 Tauri releases. # All system dependencies are installed once here; CI jobs skip apt-get entirely. # Rebuild when: Rust toolchain version changes, webkit2gtk/gtk major version changes, # Node.js major version changes, OpenSSL major version changes (used via OPENSSL_STATIC=1), # Tauri CLI version changes that affect bundler system deps, or linuxdeploy is needed. # Tag format: rust-node FROM rust:1.88-slim RUN apt-get update -qq \ && apt-get install -y -qq --no-install-recommends \ ca-certificates \ libwebkit2gtk-4.1-dev \ libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ patchelf \ pkg-config \ curl \ perl \ jq \ git \ fuse \ && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* # Install linuxdeploy for AppImage bundling (required for Tauri 2.x) # Download linuxdeploy from the official repository and extract AppImage RUN curl -fsSL -L https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -o /usr/local/bin/linuxdeploy \ && chmod +x /usr/local/bin/linuxdeploy RUN rustup target add x86_64-unknown-linux-gnu \ && rustup component add rustfmt clippy