{"id":21614221,"url":"https://github.com/bordeux/meshmonitor","last_synced_at":"2025-03-18T16:44:50.514Z","repository":{"id":260349300,"uuid":"880965227","full_name":"bordeux/meshmonitor","owner":"bordeux","description":"MeshMonitor - Monitor what is going on on your meshtastic network","archived":false,"fork":false,"pushed_at":"2024-11-06T09:14:02.000Z","size":6196,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T20:35:36.179Z","etag":null,"topics":["mesh-networks","meshtastic","meshtastic-addon"],"latest_commit_sha":null,"homepage":"https://meshmonitor.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bordeux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-30T17:16:32.000Z","updated_at":"2025-01-07T23:18:24.000Z","dependencies_parsed_at":"2024-10-30T21:34:46.919Z","dependency_job_id":null,"html_url":"https://github.com/bordeux/meshmonitor","commit_stats":null,"previous_names":["bordeux/meshmonitor"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bordeux%2Fmeshmonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bordeux%2Fmeshmonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bordeux%2Fmeshmonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bordeux%2Fmeshmonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bordeux","download_url":"https://codeload.github.com/bordeux/meshmonitor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244264849,"owners_count":20425612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mesh-networks","meshtastic","meshtastic-addon"],"created_at":"2024-11-24T22:07:13.602Z","updated_at":"2025-03-18T16:44:50.485Z","avatar_url":"https://github.com/bordeux.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MeshMonitor \nMeshMonitor is a tool to monitor the status of a [meshtastic](https://meshtastic.org/) network. \nThis tool logging all Mesh messages to a database and provides a web interface to view the data.\n\n## Technology used\n- [SurrealDB](https://github.com/surrealdb/surrealdb)\n- [MQTT (mosquitto)](https://github.com/eclipse-mosquitto/mosquitto)\n- [Bun](https://github.com/oven-sh/bun)\n- [Nginx](https://github.com/nginx/nginx)\n\n## Supported languages\n- Polish\n- English\n- Czech\n- Swedish\n- German\n- Spanish\n- French\n\n\n## Demo\nDemo is available under [meshmonitor.org](https://meshmonitor.org/)\n\n\n## Screenshots\n\n| [![Map view](.github/images/map.png)](.github/images/map.png) | [![Nodes view](.github/images/nodes.png)](.github/images/nodes.png)       |\n|--------------------------------|-----------------------------------------------|\n| [![Timeline view](.github/images/timeline.png)](.github/images/timeline.png) | [![Messages view](.github/images/messages.png)](.github/images/messages.png) |\n\n\n## Packages\n\n### Worker\nProcess that listens to the MQTT broker and logs all messages to the SurrealDB database.\n\nENV variables:\n\n| ENV Name              | Default Value      | Description                                                          |\n|-----------------------|--------------------|----------------------------------------------------------------------|\n| `MQTT_HOST`*          | `required`         | The hostname to MQTT server                                          |\n| `MQTT_PORT`           | `1883`             | The port number for the MQTT connection.                             |\n| `MQTT_USERNAME`       | `null`             | The username for accessing the MQTT.                                 |\n| `MQTT_PASSWORD`       | `null`             | The password for the MQTT user.                                      |\n| `MQTT_SUBSCRIPTIONS`  | `predefinedValues` | Comma seperated topics, like +/2/e/#,+/+/2/e/# etc. Not need to fill |\n| `DB_HOST`*            | `required`         | The name of the database to connect to.                              |\n| `DB_PORT`             | `8000`             | Port to database                                                     |\n| `DB_USERNAME`         | `root`             | Username to database                                                 |\n| `DB_PASSWORD`*        | `required`         | Password to database                                                 |\n| `DB_NAME`             | `meshtastic`       | Database name                                                        |\n| `DB_NAMESPACE_PUBLIC` | `public`           | Namespace name                                                       |\n\n### Frontend\nWeb interface to view the data.\n\nENV variables:\n\n| ENV Name             | Default Value              | Description                                                                       |\n|----------------------|----------------------------|-----------------------------------------------------------------------------------|\n| `REACT_DB_HOST`*     | `current hostname`         | Hostname to SurrealDB                                                             |\n| `REACT_DB_PORT`      | `current port - 443 or 80` | Port to SurrealDB                                                                 |\n| `REACT_DB_PATH`      | `/db/rpc`                  | Path to RPC. When using SurrealDB directly, without Nginx proxy - just set `/rpc` |\n| `REACT_DB_NAME`      | `meshtastic`               | Database name                                                                     |\n| `REACT_DB_USERNAME`  | `public`                   | Public database user                                                              |\n| `REACT_DB_PASSWORD`* | `public`                   | Public database password                                                          |\n| `REACT_DB_NAMESPACE` | `public`                   | Public namespace                                                                  |\n\n### AutoTranslate\nAutoTranslate is a tool to automatically translate frontend project to other languages. It takes as a base English language and translates it to desired languages.\n\nENV variables:\n\n| ENV Name          | Default Value | Description       |\n|-------------------|---------------|-------------------|\n| `OPENAI_API_KEY`* | `required`    | API key to OpenAi |\n\n### docker-helper\nMini project, what takes ENV variables and generates config.js file, which is used in the frontend project.\n\n\n## Running locally via docker\n1. Clone the repository\n2. Run `cp .env.docker.example .env.docker` and update values in .env.docker file like your MQTT credentials and default root password to database\n3. Run 'set -a \u0026\u0026 source .env.docker \u0026\u0026 docker compose up --build'\n4. Open `http://localhost:8080` in your browser\n\n\n## Running development\n1. Clone the repository\n2. Run `cp .env.example .env` and update values in .env file like your MQTT credentials and default root password to database\n3. Run `set -a \u0026\u0026 source .env`\n4. Run `bun run worker:dev start` to start worker\n5. In other window `bun run frontend:dev` to start frontend","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbordeux%2Fmeshmonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbordeux%2Fmeshmonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbordeux%2Fmeshmonitor/lists"}