Skip to content

Desktop App

SpinDeck ships a Tauri 2 desktop shell for macOS, Windows, and Linux. The desktop build bundles the web UI and is recommended on macOS for full playback control.

Download

Download pre-built desktop installers from GitHub Releases:

v1.0.0-beta.4 (latest)

Pick the asset for your platform (.dmg / .app on macOS, .msi / .exe on Windows, etc.). Release builds currently require Node.js on the user's machine to run the embedded server.

What's new in v1.0.0-beta.4

  • macOS QQ Music control — Fixed AppleScript pause/resume; keyboard fallback when menu control fails; idempotent pause avoids accidental resume when leaving the shelf
  • Pre-launch & external links — Pre-launch opens local clients via Tauri shell.open; settings and playlist links open in the system browser
  • Playlist refresh — Manual refresh bypasses QQ Music server cache; 3D shelf rebuilds when song data changes
  • Desktop dev & runtime — Tauri dev resources, WebView capabilities, and Vite SSR compatibility fixes

Previous release: v1.0.0-beta.3

Unavailable releases

The following builds are not recommended due to a white-screen issue in packaged desktop apps:

Installation & Common Issues

SpinDeck desktop builds are not yet signed with Apple or Microsoft certificates, and they require Node.js on your machine to run the embedded local server. You may hit platform-specific issues when installing or opening the app for the first time.

All platforms

SymptomCauseWhat to do
White screen or immediate quitNode.js missing, or embedded server failed to startInstall Node.js 20+ and relaunch; if it persists, check the log paths below
node not foundGUI apps on some systems have a minimal PATHEnsure Node is installed; on macOS, Homebrew is recommended (see below)

Log locations (when startup fails):

  • macOS: ~/Library/Logs/com.spindeck.app/
  • Windows: %LOCALAPPDATA%\com.spindeck.app\logs\
  • Linux: ~/.local/share/com.spindeck.app/logs/ (may vary by distro)

macOS

macOS applies the strictest restrictions to unsigned apps. Most “can’t open / can’t install” reports come from macOS.

SymptomCauseWhat to do
“SpinDeck cannot be opened because Apple cannot check it for malicious software”Gatekeeper blocking an unsigned appOption A: Right-click (or Control-click) SpinDeck.appOpen → click Open again in the dialog.
Option B: System Settings → Privacy & Security → find the blocked app notice → Open Anyway
“SpinDeck is damaged and can’t be opened. You should move it to the Trash”Download quarantine attribute (com.apple.quarantine)In Terminal (replace the path with your actual .app location):
xattr -cr /Applications/SpinDeck.app
Then right-click → Open again
Double-clicking inside the DMG does nothing usefulApp was not copied to ApplicationsDrag SpinDeck.app into Applications, then launch from Launchpad or the Applications folder
Wrong architectureBuild does not match your MacApple Silicon (M-series): use the macos-arm asset; Intel Macs: use macos-intel

Recommended Node.js install (macOS):

bash
# Homebrew
brew install node

Verify with node -v (20 or newer).

TIP

If the app still won’t open, do not run it directly from the mounted DMG. Copy it to Applications first, then follow the Gatekeeper steps above.

Windows

SymptomCauseWhat to do
SmartScreen: “Windows protected your PC”Installer is not EV-signedClick More infoRun anyway
App won’t start after installNode.js not installedInstall LTS from nodejs.org; enable Add to PATH during setup, then restart SpinDeck
Blocked by antivirusThe app spawns a local Node.js server processAdd the SpinDeck install folder or .exe to your allowlist

Linux

SymptomCauseWhat to do
AppImage won’t runMissing execute permissionchmod +x spindeck-*.AppImage, then run it
AppImage FUSE errorFUSE not installedUbuntu/Debian: sudo apt install libfuse2; or use the .deb package instead
.deb missing dependenciesWebKit / graphics librariesInstall WebKit GTK and related packages (see build-from-source Linux deps)
White screen after launchNode.js not installedInstall Node.js 20+ via your package manager or nvm

Build from Source

Additional Requirements

  • Rust (stable)
  • Platform toolchain (e.g. Xcode Command Line Tools on macOS)

Development

Tauri loads the web dev server during development:

bash
pnpm --filter @spindeck/desktop dev

This runs @spindeck/web dev and opens the SpinDeck window.

Production Build

bash
pnpm --filter @spindeck/desktop build

Output is written to apps/desktop/src-tauri/target/release/bundle/ (.app on macOS, .msi / .exe on Windows, etc.).

Icons

Desktop icons are generated from apps/web/app/assets/icons/SpinDeckLogo.svg. Regenerate after logo changes:

bash
pnpm desktop:icons

Contributors

The avatar of contributor named as dongguacute dongguacute

Changelog

Released under the Apache License 2.0.