Skip to content

dynamicweb/dw-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Truvio Commerce Cloud Desktop

A cross-platform desktop application for managing Dynamicweb 10 solutions — file transfers, environment management, and remote file browsing, all without needing a terminal.

DW Desktop — light mode DW Desktop — dark mode


Download

Get the latest version from the Releases page.

Platform Download
Windows (x64 — most PCs) dw-desktop-*-x64-setup.exe
Windows (ARM64 — Snapdragon / Surface Pro X) dw-desktop-*-arm64-setup.exe
macOS (Universal — Intel + Apple Silicon) dw-desktop-*.dmg
Linux .AppImage or .deb

macOS note: The app is not yet notarized with Apple. On first launch, right-click the app and choose Open to bypass the Gatekeeper warning.


What you can do

  • Move files between your local machine and DW10 environments
  • Browse and manage remote files visually
  • Work across multiple environments (dev, staging, production)
  • Handle large transfers with progress tracking and logs

Key features

  • Dual-pane file browser
    Local files on one side, remote environment on the other

  • Drag & drop transfers
    Upload and download files with real-time progress

  • Batch operations
    Move entire folders or multiple files in one go

  • Remote file management
    Rename, delete, and copy files directly in the environment

  • Multiple environments
    Switch instantly between your DW10 setups

  • Flexible authentication
    API key, OAuth, or username/password

  • Transfer history
    Full log of everything that moved — useful for debugging and traceability

  • Cross-platform
    Runs on Windows, macOS, and Linux

  • Theme support
    Light, dark, or follow your OS

When to use it

DW Desktop is ideal when you need to:

  • Deploy files to a staging or production environment
  • Pull files down for debugging or local development
  • Quickly inspect or fix something directly on a remote instance
  • Work across multiple environments without juggling credentials or tools

Need a CLI instead?

If you're working in a terminal, automating deployments, or running file operations from a CI/CD pipeline, the DynamicWeb CLI covers the same file workflows — plus queries, commands, and add-in installs — entirely from the command line.

# Upload files in a pipeline
dw files ./dist templates -i -r --output json \
  --host your-solution.example.com \
  --auth oauth \
  --clientIdEnv DW_CLIENT_ID \
  --clientSecretEnv DW_CLIENT_SECRET

The CLI supports OAuth client credentials for headless and CI/CD use, and returns structured JSON output that scripts can consume directly.

Getting started

1. Download and install

Download the app from the Releases page and install it.

2. Add an environment

Click + Add environment in the sidebar, then fill in:

  • Name — a label for the environment (e.g. "My solution staging")
  • Host — the URL of your DW10 solution (e.g. https://mysite.example.com)
  • Local start folder (optional) — a default local folder to open for this environment

3. Choose an authentication method

Click Next to reach the Authentication step. Three methods are available:

OAuth (recommended for most setups)

Uses the OAuth 2.0 Client Credentials flow — no user password stored, tokens are short-lived.

When to use: Preferred for all interactive use. More secure than API keys and easier to revoke.

How to set up in DW10:

  1. Go to Settings → System → Developer → OAuth Clients
  2. Click Add client
  3. Set Grant type to Client credentials
  4. Copy the generated Client ID and Client secret into the app

Full guide: OAuth Clients — Dynamicweb docs

API key

A static token tied to a specific DW10 user account.

When to use: When OAuth is not available on your solution version, or for quick testing. Less flexible than OAuth — the key stays valid until manually deleted.

How to set up in DW10:

  1. Go to Settings → System → Developer → API Keys
  2. Click Add API key
  3. Assign it to a user with sufficient file permissions
  4. Copy the key into the app

Full guide: API Keys — Dynamicweb docs

Username & password

Authenticates directly with a DW10 backend user account.

When to use: As a fallback when neither OAuth nor API keys are available. Not recommended for shared or long-running setups.

Contributing

Contributions are welcome. The app is built with Electron + Vite + React + TypeScript.

Prerequisites

  • Node.js 18 or later
  • npm (comes with Node.js)

Clone and install

git clone https://github.com/dynamicweb/dw-desktop.git
cd dw-desktop
npm install

Run in development

npm run dev

This starts the Electron app with hot-reload for the renderer process.

Type checking

npm run typecheck

Build a distributable

# Windows
npm run build:win

# macOS
npm run build:mac

# Linux
npm run build:linux

Linux runtime dependencies

If the app fails to launch on Linux with a shared-library error, install the missing system packages:

Ubuntu 24.04+

sudo apt install -y libnspr4 libnss3 libasound2t64 libsecret-1-0

Older Ubuntu / Debian

sudo apt install -y libnspr4 libnss3 libasound2 libsecret-1-0

Tech stack

Layer Technology
Shell Electron
Bundler electron-vite
UI React 19 + TypeScript
Styling Tailwind CSS v4
State Zustand
Credential storage keytar

IDE setup

VSCode with the ESLint and Prettier extensions is recommended.

About

Desktop GUI for DynamicWeb 10 management — file transfers, environments, authentication

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors