Skip to content

pdxlocations/meshconfig

Repository files navigation

MeshConfig Workbench

Static web app for direct Meshtastic config work:

  • connect over USB serial, Web Bluetooth, or HTTP(S)
  • download the node's writable config as YAML
  • compare live config to a desired YAML document
  • upload the desired config back to the node
Screenshot 2026-03-10 at 8 23 42 AM Screenshot 2026-03-10 at 8 24 10 AM

Run locally

Serve this directory from a static web server:

python3 -m http.server 8420

Then open:

http://localhost:8420

Or use the launcher script:

./scripts/launch.sh

Docker / Podman

Build and run the container (nginx, non-root, plain HTTP on 8420):

docker compose up -d --build

Then open http://localhost:8420. The container serves plain HTTP and is meant to sit behind a TLS-terminating proxy (e.g. cloudflared); the proxy's HTTPS hostname provides the secure context Web Serial / Web Bluetooth need.

The build file is named Containerfile (the OCI/Podman standard). docker compose picks it up automatically. For a raw build, name it explicitly:

docker build -f Containerfile -t meshconfig .

systemd

A sample systemd unit is included at systemd/meshconfig.service.

It assumes the app is installed at /opt/meshconfig and uses a dynamic service user, so you only need to adjust the install path if yours is different.

Notes

  • Web Serial and Web Bluetooth require a Chromium-based browser and a secure context.
  • The app accepts YAML or JSON in the desired editor. Snake-case top-level keys from the Meshtastic Python config format are supported.
  • The desired-config dropdown loads preset files from this repo, and MeshOregon is the default preset on startup.

Meshtastic® is a registered trademark of Meshtastic LLC. Meshtastic software components are released under various licenses, see GitHub for details. No warranty is provided - use at your own risk.

About

Configuration tool for Meshtastic devices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors