diff --git a/.gitignore b/.gitignore index d50e468..a0761aa 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ reports/ # AI planning and documentation ai_docs/ +*.log diff --git a/DOCKER.md b/DOCKER.md index e386d50..2c3a1b4 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -32,11 +32,12 @@ Edit `.env` file or run `./configure.sh` to set: ## Device Setup **Find your device:** + ```bash # Linux ls /dev/ttyACM* /dev/ttyUSB* -# macOS +# macOS ls /dev/cu.usbserial-* # Windows @@ -44,6 +45,7 @@ ls /dev/ttyS* ``` **Set permissions (Linux/macOS):** + ```bash sudo chmod 666 /dev/ttyACM0 # Or add user to dialout group @@ -72,6 +74,7 @@ docker-compose pull && docker-compose up -d ## Troubleshooting **Device access issues:** + ```bash # Check device exists and permissions ls -la /dev/ttyACM0 @@ -81,12 +84,14 @@ sudo chmod 666 /dev/ttyACM0 ``` **Port conflicts:** + ```bash # Find what's using port 41447 sudo lsof -i :41447 ``` **Container issues:** + ```bash # Check logs docker-compose logs @@ -95,4 +100,4 @@ docker-compose logs docker-compose restart ``` -For more Docker help, see [Docker Compose documentation](https://docs.docker.com/compose/). \ No newline at end of file +For more Docker help, see [Docker Compose documentation](https://docs.docker.com/compose/). diff --git a/README.md b/README.md index 83f4717..b94700a 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ A simple Meshtastic-powered node dashboard for your local community. _No MQTT cl Live demo for Berlin #MediumFast: [potatomesh.net](https://potatomesh.net) -![screenshot of the second version](./scrot-0.2.png) +![screenshot of the third version](./scrot-0.3.png) -## 🐳 Quick Start with Docker +## Quick Start with Docker ```bash ./configure.sh # Configure your setup @@ -27,8 +27,8 @@ docker-compose logs -f # View logs ``` PotatoMesh uses host networking by default so it can run on restricted -systems where Docker cannot create bridged interfaces. The web UI listens on -`http://127.0.0.1:41447` immediately without explicit port mappings. If you +systems where Docker cannot create bridged interfaces. The web UI listens on +`http://127.0.0.1:41447` immediately without explicit port mappings. If you are using Docker Desktop (macOS/Windows) or otherwise require bridged networking, enable the Compose profile with: @@ -88,8 +88,10 @@ SITE_NAME="Meshtastic Berlin" MAP_CENTER_LAT=52.502889 MAP_CENTER_LON=13.404194 The web app contains an API: * GET `/api/nodes?limit=100` - returns the latest 100 nodes reported to the app +* GET `/api/positions?limit=100` - returns the latest 100 position data * GET `/api/messages?limit=100` - returns the latest 100 messages * POST `/api/nodes` - upserts nodes provided as JSON object mapping node ids to node data (requires `Authorization: Bearer `) +* POST `/api/messages` - appends positions provided as a JSON object or array (requires `Authorization: Bearer `) * POST `/api/messages` - appends messages provided as a JSON object or array (requires `Authorization: Bearer `) The `API_TOKEN` environment variable must be set to a non-empty value and match the token supplied in the `Authorization` header for `POST` requests. @@ -134,6 +136,11 @@ node records and parsing new incoming messages. Enable debug output with `DEBUG= specify the serial port with `MESH_SERIAL` (default `/dev/ttyACM0`) or set it to an IP address (for example `192.168.1.20:4403`) to use the Meshtastic TCP interface. +## Demos + +* +* + ## License Apache v2.0, Contact diff --git a/scrot-0.3.png b/scrot-0.3.png new file mode 100644 index 0000000..8973a37 Binary files /dev/null and b/scrot-0.3.png differ diff --git a/web/app.rb b/web/app.rb index 45b28f5..20b73fe 100644 --- a/web/app.rb +++ b/web/app.rb @@ -40,7 +40,7 @@ MAX_JSON_BODY_BYTES = begin rescue ArgumentError DEFAULT_MAX_JSON_BODY_BYTES end -VERSION_FALLBACK = "v0.2.1" +VERSION_FALLBACK = "v0.3.0" def fetch_config_string(key, default) value = ENV[key]