# 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), # or Tauri CLI version changes that affect bundler system deps. # 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 \ && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \ | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ && chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \ > /etc/apt/sources.list.d/github-cli.list \ && apt-get update -qq \ && apt-get install -y -qq --no-install-recommends gh \ && rm -rf /var/lib/apt/lists/* RUN rustup target add x86_64-unknown-linux-gnu \ && rustup component add rustfmt clippy