Building DragonFly¶
Option A — Local Build¶
See getting-started.md for prerequisites and the standard npm run tauri build flow.
Option B — Docker Build (no local toolchain needed)¶
Use docker/Dockerfile.build to produce Linux binaries without installing Rust, Node.js, or CMake locally.
Requirements¶
- Docker (Desktop or Engine)
Build Linux packages¶
docker build -f docker/Dockerfile.build -t dragonfly-builder .
docker run --rm -v "$(pwd)/dist-docker:/out" dragonfly-builder
Artifacts (.deb, .rpm, .AppImage) are written to dist-docker/ on your host.
What the build container does¶
- Starts from
rust:1.82-bookworm - Installs Node.js 20, CMake, and all Tauri Linux system dependencies
- Caches Cargo registry and npm packages as Docker layers
- Runs
npm ci && npm run tauri build - Copies bundle artifacts to
/out
Notes¶
- The Docker build produces Linux packages only. Windows installers require a Windows runner (use GitHub Actions).
- Build times: first build ~15–25 min (Rust compilation); subsequent builds ~2–4 min (layer cache).
- For CI builds, use the GitHub Actions workflow in
.github/workflows/release.yml.
Option C — GitHub Actions¶
Every merged PR into main automatically triggers the release workflow, which builds for both Windows and Linux and publishes a GitHub Release. See .github/workflows/release.yml.
For a manual rebuild without version bump:
- Go to Actions → Build & Release → Run workflow
- Set
skip_bumptotrue
Release Artifacts¶
| Platform | Format | Notes |
|---|---|---|
| Windows | .exe (portable) |
No installation, single binary |
| Windows | -setup.exe (NSIS) |
Installer with auto-update support |
| Windows | -setup.msi (MSI) |
Enterprise/GPO deployment |
| Linux | .deb |
Debian / Ubuntu |
| Linux | .rpm |
Fedora / openSUSE |
| Linux | .AppImage |
Portable, works on any distro |