Skip to main content

Desktop App Overview

Complete guide for developing and running the Tauri desktop application.

📋 Table of Contents​


🚀 Run Options​

The desktop application can be run in two ways:

Install system dependencies (once):

Linux (Ubuntu/Debian)
sudo apt install -y \
libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
pkg-config

# Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
Windows
  1. Visual Studio 2022 Build Tools

  2. WebView2 Runtime (usually already installed on Windows 11)

  3. Rust

macOS
# Xcode Command Line Tools
xcode-select --install

# Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

Run the application:

pnpm install
pnpm --filter @bitrate/desktop tauri dev # native window, Rust side included

pnpm --filter @bitrate/desktop dev is not the same thing: that script is plain vite, so it serves the renderer on http://localhost:1420 and starts no Tauri process and no native window.

Advantages:

  • ✅ Full Tauri functionality
  • ✅ GPU hardware acceleration
  • ✅ Fast hot reload
  • ✅ Access to all native APIs

Option 2: Docker UI only​

Runs only the Vite dev server without the Tauri backend.

task desktop:up # start the Vite dev server in a container
task desktop:logs # tail its logs

Then open http://localhost:1420. Taskfile.yml is the only supported interface to Docker here — a bare docker compose fails from the repository root, because the compose files live in infra/.

Limitations:

  • ✅ Shows React UI
  • ❌ No Tauri backend
  • ❌ No access to native APIs

🔌 Available Ports​

For Option 2 (Docker UI only)​

PortPurpose
1420Vite dev server

📊 Options Comparison​

MethodTauri BackendGUIHot ReloadComplexitySpeedImage Size
Local✅✅✅LowFast-
Docker UI❌Browser✅LowFast~9.4 GB

When to use each option​

Local run:

  • ✅ Daily development
  • ✅ Debugging Tauri functionality
  • ✅ Fast iteration

Docker UI only:

  • ✅ Testing React components
  • ✅ UI development without Tauri
  • ✅ Quick preview of changes

📚 Additional Resources​


⚡ Quick Commands​

Local run​

pnpm --filter @bitrate/desktop tauri dev

Docker UI​

task desktop:up

Stop​

task desktop:down