mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-10-17 05:14:19 +02:00
Adds the MeshCore web client to the Supply Depot catalog (host port 8500), alongside the existing Meshtastic apps. Uses aXistem's prebuilt image of Liam Cottle's MeshCore client (MeshCore is a sibling LoRa mesh project to Meshtastic). The image is stock nginx serving a static Flutter build over HTTP, but the client reaches radios via Web Bluetooth / Web Serial, which browsers only allow from a secure (HTTPS) context. So we serve it over HTTPS: a new preinstall hook generates a self-signed cert + a small SSL nginx config into storage/meshcore-web, both bind-mounted into the container (the config over the image's default.conf), publishing 443. Same one-time browser-warning approach as Vaultwarden, whose openssl cert generation is refactored into a shared _ensureSelfSignedCert helper. Also adds a NOMAD-specific docs section + Manage>Docs anchor, and registers the IconAntenna icon. Meshtastic Web left unchanged. Validated on NOMAD3 (v1.33.0-rc.1): the image + SSL config + self-signed cert serves the MeshCore Flutter app over HTTPS 200 with working SPA fallback. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| bin | ||
| commands | ||
| config | ||
| constants | ||
| database | ||
| docs | ||
| inertia | ||
| providers | ||
| public | ||
| resources | ||
| scripts | ||
| start | ||
| tests | ||
| types | ||
| util | ||
| views | ||
| .editorconfig | ||
| .env.example | ||
| ace.js | ||
| adonisrc.ts | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||