Add three Dockerfiles under .docker/ and a build-images.yml workflow that
pushes them to the local Gitea container registry (172.0.0.29:3000).
Each image pre-installs all system deps, Node.js 22, and the Rust cross-
compilation target so release builds can skip apt-get entirely:
trcaa-linux-amd64:rust1.88-node22 — webkit2gtk, gtk3, all Tauri deps
trcaa-windows-cross:rust1.88-node22 — mingw-w64, nsis, Windows target
trcaa-linux-arm64:rust1.88-node22 — arm64 multiarch dev libs, Rust 1.88
build-images.yml triggers automatically when .docker/ changes on master
and supports workflow_dispatch for manual/first-time builds.
auto-tag.yml is NOT changed in this commit — switch it to use the new
images in the follow-up PR (after images are pushed to the registry).
One-time server setup required before first use:
echo '{"insecure-registries":["172.0.0.29:3000"]}' \
| sudo tee /etc/docker/daemon.json && sudo systemctl restart docker
21 lines
699 B
Docker
21 lines
699 B
Docker
# Pre-baked cross-compiler for Windows amd64 Tauri releases (runs on Linux amd64).
|
|
# All MinGW and Node.js dependencies are installed once here; CI jobs skip apt-get entirely.
|
|
# Rebuild when: Rust toolchain version changes or Node.js major version changes.
|
|
# Tag format: rust<VER>-node<VER>
|
|
FROM rust:1.88-slim
|
|
|
|
RUN apt-get update -qq \
|
|
&& apt-get install -y -qq --no-install-recommends \
|
|
mingw-w64 \
|
|
curl \
|
|
nsis \
|
|
perl \
|
|
make \
|
|
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 rustup target add x86_64-pc-windows-gnu
|