Installation
Get Muxit running on your machine in under 5 minutes.
System Requirements
| Requirement | Version | Check |
|---|---|---|
| .NET SDK | 9.0 or later | dotnet --version |
| Node.js | 18 or later | node --version |
| Git | Any recent version | git --version |
Supported platforms: Windows 10+, macOS 12+, Linux (x64). Raspberry Pi (ARM64) works with limitations.
Step 1: Download
Clone the repository:
git clone https://github.com/MUXIT-IO/muxit.git
cd muxitStep 2: Build
Build everything — the web UI, documentation site, extension drivers, and server:
node build.jsThis runs four build steps:
- UI — Vite builds the React SPA into
MuxitServer/wwwroot/ - Docs — VitePress builds the documentation site into
MuxitServer/wwwroot/docs/ - Drivers — Extension drivers are compiled into
workspace/drivers/ - Server — The .NET server is compiled
You can also build individual components:
node build.js ui # Web UI only
node build.js docs # Documentation site only
node build.js drivers # Extension drivers only
node build.js server # UI + docs + server binaryStep 3: Start the Server
node start.js server --guiThis starts the Muxit server and opens your default browser to http://127.0.0.1:8765.
On first run, you'll see the Workspace Setup screen. Create a new workspace or open an existing one to get started. See Workspaces for details.
Other start modes:
node start.js server # Start without opening browser
node start.js server --no-tray # Start without system tray icon
node start.js server --port=9000 # Use a custom port
node start.js cli # CLI mode for driver testing
node start.js mcp # MCP server for Claude Code/DesktopStep 4: Verify It Works
Once the server is running and the browser opens:
- Check the Hardware panel — Click the plug icon in the left Activity Bar. You should see test-device listed with live properties (temperature, label, count, etc.)
- Open a demo dashboard — In the Explorer sidebar, expand
dashboards/and clickdemo.dashboard.json. You should see live gauges and widgets - Run a script — In the Explorer sidebar, expand
scripts/and clickhello.js. Click the Run button in the editor toolbar. Check the Output panel at the bottom for log messages
If you see the test device with updating values, Muxit is working correctly.
What's Included Out of the Box
Muxit ships with a complete demo environment — no hardware needed:
| Category | What's Included |
|---|---|
| Built-in drivers | TestDevice, Webcam, ONVIF (IP camera), FileAccess, MqttBridge |
| Example connectors | test-device, webcam, gui, store, and more in workspace/connectors/ |
| Example scripts | hello.js, demo.js, count_to_ten.js, stream-demo.js, and more in workspace/scripts/ |
| Example dashboards | demo, test-device, robot, gcode, and more in workspace/dashboards/ |
| Example agents | temperature-monitor, pick-and-place in workspace/agents/ |
The TestDevice is a simulated device that exercises every data type (strings, numbers, booleans, arrays, objects). It's always available and doesn't count against your connector limit — making it the perfect learning tool.
Platform Notes
Windows
- .NET SDK installer: dotnet.microsoft.com/download
- Node.js installer: nodejs.org
- Serial ports appear as
COM3,COM4, etc. in Device Manager
macOS
# Using Homebrew
brew install dotnet-sdk node git- Serial ports appear as
/dev/tty.usbserial-*or/dev/tty.usbmodem-*
Linux
# Ubuntu/Debian
sudo apt update
sudo apt install -y dotnet-sdk-9.0 nodejs npm git- Serial ports appear as
/dev/ttyUSB0,/dev/ttyACM0, etc. - You may need to add your user to the
dialoutgroup for serial port access:
sudo usermod -aG dialout $USER
# Log out and back in for the change to take effectRaspberry Pi
Muxit runs on Raspberry Pi (ARM64) for a dedicated lab server:
- Works: Core server, serial ports, remote access, all automation scripts
- Limited: JavaScript sandbox (ClearScript V8) — ARM64 support is uncertain
- Not available: Webcam and ONVIF drivers (no OpenCV ARM64 binaries)
Run headless: node start.js server --no-tray
Updating
Pull the latest changes and rebuild:
git pull
node build.jsYour workspace files (connectors, scripts, dashboards, agents, config) are preserved during updates — they live in the workspace/ directory, which is not overwritten by builds.
Troubleshooting Installation
dotnet: command not found — Install the .NET 9.0 SDK from dotnet.microsoft.com/download.
node: command not found — Install Node.js 18+ from nodejs.org.
Port 8765 already in use — Another instance of Muxit (or another program) is using the port. Stop the other process or use --port=9000 to pick a different port.
Build fails with errors — Make sure you have .NET 9.0 (not 8.0 or earlier). Run dotnet --version to check.
Browser shows blank page — Run node build.js ui to ensure the web UI is built. The UI must be compiled before the server can serve it.
For more help, see the Troubleshooting Guide.