nailyudha/tauri

By nailyudha

Updated over 1 year ago

A cross-platform multi-arch Docker image for building your Tauri app with pre-installed packages

Image
Languages & frameworks
Developer tools
Operating systems
0

1.5K

nailyudha/tauri repository overview

The nailyudha/tauri Docker image provides a complete environment for building cross-platform Tauri applications, enabling developers to target Windows, Linux, and Android architectures with ease. Built upon Debian 12.7-slim, this image includes essential tools, libraries, and dependencies tailored specifically for Tauri app development on both amd64 and arm64 architectures. Key components such as Rust, Android SDK/NDK, and platform-specific toolchains allow for streamlined and consistent cross-compilation workflows.

Key Features

• Multi-Architecture Support: amd64 and arm64 architectures, ensuring compatibility with various development environments and deployment targets.
• Cross-Platform Builds: Comprehensive toolchains for:
   • Windows (x86_64-pc-windows-msvc, i686-pc-windows-msvc, aarch64-pc-windows-msvc)
   • Linux (various Linux configurations compatible with Tauri)
   • Android (aarch64-linux-android, armv7-linux-androideabi, i686-linux-android, x86_64-linux-android)
• Integrated Tooling: Pre-installed with critical tools such as:
   • Bun (v1.1.33) for JavaScript/TypeScript dependencies
   • Rust (v1.82.0) with cargo-xwin for building Windows targets
   • Android Build Tools and NDK (versions configurable through build arguments)

Usage

To use the nailyudha/tauri image effectively, developers need to understand its configuration and dependencies. Below are detailed instructions and examples.

Image Configuration Details

The Docker image is built with the following key dependencies:

• Debian 12.7-slim base image for minimal footprint
• User Configuration: Creates a non-root user (nonroot) with specific UID and GID to ensure security and compatibility with multi-user setups.
• Pre-Installed Packages:
   • Build essentials: build-essential, clang, lld, llvm
   • Java Development Kit: openjdk-17-jdk
   • Platform libraries and development tools: libayatana-appindicator3-dev, librsvg2-dev, libssl-dev, libwebkit2gtk-4.1-dev, libxdo-dev
• Rust and Bun installation:
   • Rustup installs Rust with the specified version (1.82.0), targeting both Windows and Android architectures.
   • Bun installation via curl for seamless JavaScript runtime integration.
• Android SDK/NDK and Build Tools:
   • Android SDK with the specified Build Tools version (35.0.0) and Platform version (35)
   • Android NDK version (27.2.12479018)

Docker Image Tags

• latest:      Tracks the latest stable release
• 2.0-1.0.0:   Specific to Tauri version 2.0 and this image version 1.0.0
• 2.0-1.1.0:
• 2.0-2.0.0:

Example Usage

Below is a sample Dockerfile using nailyudha/tauri for building a Tauri app:

FROM nailyudha/tauri:latest

WORKDIR /home/nonroot

COPY ./package.json ./bun.lockb ./
RUN bun i --frozen-lockfile

COPY . .
# For building Linux (Support for AMD64 & ARM64)
RUN bun tauri build

# For building Android (Support only for AMD64)
# RUN bun tauri android init \
#     && bun tauri android build --apk

# For building Windows
## AMD64
# RUN bun tauri build --runner cargo-xwin --target x86_64-pc-windows-msvc
## ARM64
# RUN bun tauri build --runner cargo-xwin --target aarch64-pc-windows-msvc

This image enables streamlined Tauri app development across platforms without needing to manually manage cross-compilation dependencies, making it ideal for CI/CD pipelines or local development for cross-platform applications.

Tag summary

Content type

Image

Digest

sha256:5db49257d

Size

2.8 GB

Last updated

over 1 year ago

docker pull nailyudha/tauri