# Linux release bundles (AppImage + .deb) for the Gitea release, built in a clean Debian 12 container: # docker buildx build --platform linux/amd64 -f kestrove-desktop/scripts/linux.Dockerfile \ # --target out -o type=local,dest=release/desktop .. # Build context = the folder holding kestrove-core and kestrove-desktop. Debian 12's glibc (2.36) keeps # the AppImage runnable on most current distributions. FROM rust:1-bookworm AS build RUN apt-get update && apt-get install -y --no-install-recommends \ libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev libxdo-dev \ libsecret-1-dev file patchelf xdg-utils curl ca-certificates \ && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs \ && rm -rf /var/lib/apt/lists/* WORKDIR /src COPY kestrove-core kestrove-core COPY kestrove-desktop kestrove-desktop WORKDIR /src/kestrove-desktop RUN npm ci --no-audit --no-fund && npm run tauri build -- --bundles appimage,deb \ && cd src-tauri && cargo build --release --bin kestrove-nmh FROM scratch AS out COPY --from=build /src/kestrove-desktop/src-tauri/target/release/bundle/appimage/*.AppImage / COPY --from=build /src/kestrove-desktop/src-tauri/target/release/bundle/deb/*.deb / COPY --from=build /src/kestrove-desktop/src-tauri/target/release/kestrove-nmh /kestrove-nmh-linux-x86_64