MeshDash Docs
R2.0
/
Home Getting Started Installation

Installation

Getting Started install setup curl bash raspberry pi linux wsl docker venv systemd service
How to install MeshDash using the automated installer, Docker, or manually.
The recommended method is the Setup Wizard at meshdash.co.uk/setup. It generates a personalised one-line install command based on your configuration choices.

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:

  1. Install system packages: python3, python3-pip, python3-venv, git
  2. Clone the MeshDash repository to /opt/meshdash
  3. Create a Python virtual environment at mesh-dash_venv/
  4. Install all Python packages from requirements.txt
  5. Download and place your .mesh-dash_config
  6. Create and enable the mesh-dash.service systemd unit
  7. Start the service
curl -sL 'https://meshdash.co.uk/install/YOUR_KEY/install.sh' | bash
Replace 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.

Start
sudo systemctl start mesh-dash
Stop
sudo systemctl stop mesh-dash
Restart
sudo systemctl restart mesh-dash
Status
sudo systemctl status mesh-dash
Live Logs
journalctl -u mesh-dash -f
Enable on boot
sudo systemctl enable mesh-dash

Updating

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().

Always back up your databases before updating. Use 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).