Installation
Automated Installation (Linux / Raspberry Pi / Debian)
Paste the command generated by the Setup Wizard into your terminal. The installer (run_meshdash.sh + install.sh) will:
- Install system packages:
python3,python3-pip,python3-venv,git - Clone the MeshDash repository to
/opt/meshdash - Create a Python virtual environment at
mesh-dash_venv/ - Install all Python packages from
requirements.txt - Download and place your
.mesh-dash_config - Create and enable the
mesh-dash.servicesystemd unit - Start the service
curl -sL 'https://meshdash.co.uk/install/YOUR_KEY/install.sh' | bash
YOUR_KEY with the key from the Setup Wizard. This key embeds your configuration and is generated per-install.Windows (WSL2)
Open PowerShell as Administrator and install WSL2:
wsl --install
Reboot, open Ubuntu from the Start Menu, then run the same Linux installer command above. See Radio Connection for attaching USB devices to WSL.
Docker
Linux / macOS:
docker run -d \
--name meshdash \
--restart always \
-p 8000:8000 \
--privileged \
--log-opt max-size=10m --log-opt max-file=3 \
-v /dev:/dev \
-v meshdash_data:/app/data \
-e PYTHONPATH="/app/data" \
-e MD_SETUP_KEY="YOUR_KEY" \
-e MD_SETUP_URL="https://meshdash.co.uk/user_setup_core.php" \
rusjpmd/meshdash-runner:latest
Windows CMD:
docker run -d ^
--name meshdash ^
--restart always ^
-p 8000:8000 ^
--privileged ^
--log-opt max-size=10m --log-opt max-file=3 ^
-v meshdash_data:/app/data ^
-e PYTHONPATH="/app/data" ^
-e MD_SETUP_KEY="YOUR_KEY" ^
-e MD_SETUP_URL="https://meshdash.co.uk/user_setup_core.php" ^
rusjpmd/meshdash-runner:latest
Manual Installation
# 1. System dependencies
sudo apt update && sudo apt install -y python3 python3-pip python3-venv git
# 2. Clone repository
git clone https://github.com/your-org/meshdash.git /opt/meshdash
cd /opt/meshdash
# 3. Virtual environment
python3 -m venv mesh-dash_venv
source mesh-dash_venv/bin/activate
# 4. Python packages
pip install -r requirements.txt
# 5. Place config file
cp /path/to/.mesh-dash_config /opt/meshdash/.mesh-dash_config
# 6. Run
python3 meshtastic_dashboard.py
Post-Installation
Open your browser and navigate to:
http://<your-device-ip>:8000
On first visit, the Setup page (/setup) guides you through creating the admin account. Once the admin user is created, the setup endpoint is permanently disabled (the static/.new file is deleted).
Service Management
The installer creates and enables mesh-dash.service. The restart.sh helper script is also included for programmatic restarts.
Startsudo systemctl start mesh-dashStopsudo systemctl stop mesh-dashRestartsudo systemctl restart mesh-dashStatussudo systemctl status mesh-dashLive Logsjournalctl -u mesh-dash -fEnable on bootsudo systemctl enable mesh-dashUpdating
Trigger via the dashboard at Settings → System → Check for Updates, or via the API:
POST /api/system/check-update # Check without applying
POST /api/system/start-update # Download and apply (triggers restart)
On restart, MeshDash checks for a .update_ready flag and update.zip. If both are present it extracts the update, skipping protected files (.mesh-dash_config, databases, backup/), then hot-swaps the process via os.execv().
mesh_dash_tools.sh (option 2 → Backup) for a one-step backup of both meshtastic_data.db and task.db.mesh_dash_tools.sh
An interactive management toolkit is included at mesh_dash_tools.sh. Run it from the install directory:
bash mesh_dash_tools.sh
Provides four sub-menus: Service Control, Database Backup/Restore, Configuration Edit/Backup, and Admin/Maintenance (permissions, update flags, disk usage).