Files
kestrove-desktop/scripts/linux.Dockerfile
T
samiandClaude Opus 5.5 dda979bebe
ci / build (ubuntu-22.04) (push) Canceled after 0s
ci / build (windows-2025) (push) Canceled after 0s
ci / deny (push) Canceled after 0s
Version 1.0.0; Linux release build and Gitea release script
scripts/linux.Dockerfile builds the AppImage, .deb and Linux native host in Debian 12 (amd64);
scripts/gitea-release.sh creates the v<version> release and uploads them with SHA256SUMS.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 16:28:59 +09:00

23 lines
1.3 KiB
Docker

# 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