Skip to main content

Tauri Desktop

Markup includes an optional desktop client built with Tauri v2, allowing you to run the app as a native application with local filesystem integration and improved performance.

Requirements

Before using Tauri, install:
  • Node.js 18+
  • Rust (latest stable)
  • Cargo (included with Rust)
  • Tauri CLI v2
Install Rust:
Install Tauri CLI:
Verify installation:

Project Setup

Install dependencies:
Ensure your web app builds correctly first:

Development Mode

Run the Tauri desktop app in development mode:
This will:
  • Start the Next.js dev server
  • Launch the Tauri desktop shell
  • Enable hot reload for UI changes

Production Build

Build the desktop application:
Output binaries will be located in:

Tauri Project Structure


Configuration

App Settings

Edit:
Key settings include:
  • App name
  • Window size
  • Security policies
  • Build targets

Allowlist / Permissions

Tauri v2 uses capability-based security. You may need to enable:
  • File system access
  • Network access
  • Clipboard access
Example (conceptual):

Local File Sync

Markup desktop supports optional local syncing:
  • .md → Markdown notes
  • .canvas → Whiteboard data
  • .mindmap → Mind map structures
Files are stored locally and can optionally sync to the cloud when authenticated.

Common Commands

Start Desktop App

Build Desktop App

Clean Build


Troubleshooting

Rust not found

Ensure Rust is installed:
If missing, reinstall via rustup.

Tauri build fails

Try cleaning and rebuilding:

Blank window on launch

Check:
  • Next.js build completes successfully
  • No runtime errors in terminal
  • Correct dev server URL in tauri.conf.json

File system access issues

Ensure permissions are enabled in Tauri capabilities configuration.

Performance Notes

  • Desktop mode uses native WebView rendering
  • Local file access reduces latency compared to cloud-only mode
  • Recommended for heavy note-taking and offline usage

Recommended Workflow

  1. Develop using npm run dev
  2. Test desktop mode with npm run tauri:dev
  3. Build production web app
  4. Build desktop binaries with npm run tauri:build

Security Notes

  • Do not expose sensitive environment variables to frontend
  • Restrict filesystem permissions where possible
  • Use Tauri capabilities instead of full access when possible
  • Keep Rust and Tauri dependencies updated

Optional Enhancements

You can extend the desktop app with:
  • Auto-updater (check Github Repository for an example)
  • System tray integration
  • Global shortcuts
  • Deep OS file integration
  • Offline-first sync mode improvements