Commit Graph

612 Commits

Author SHA1 Message Date
JingleManSweep 3567f86408 Merge pull request #156 from ipnet-mesh/chore/add-packet-capture-resources
Add observer Docker Compose setup and update README instructions
2026-04-19 21:55:37 +01:00
JingleManSweep 70ccafeb97 Merge pull request #158 from ipnet-mesh/chore/fix-actions
Updates
2026-04-19 21:55:06 +01:00
Louis King 0d6c79797e Updates 2026-04-19 21:52:10 +01:00
Louis King a587c93914 Normalize LetsMesh spelling in docker-compose comments 2026-04-19 21:49:23 +01:00
Louis King 710263b248 Add observer Docker Compose setup and update README instructions
Add contrib/packetcapture/ with ready-made docker-compose.yml and .env.example
for remote observers. Parameterize MQTT port and TLS for local network use.
Rewrite README observer section with wget-based setup workflow.
2026-04-19 21:47:57 +01:00
JingleManSweep 19ac2f8aa1 Merge pull request #155 from ipnet-mesh/chore/quick-fixes
Add content and webhooks docs links to README
2026-04-18 11:47:09 +01:00
Louis King d0d134236b Fixes 2026-04-18 11:45:31 +01:00
Louis King aac1d8553f Traefik fixes 2026-04-18 10:56:26 +01:00
Louis King 0d4c8643f3 Updates 2026-04-18 10:04:47 +01:00
Louis King e513a627bb Add content and webhooks docs links to README 2026-04-18 10:04:10 +01:00
JingleManSweep cbeab3baa0 Merge pull request #147 from ipnet-mesh/renovate/codecov-codecov-action-6.x
Update codecov/codecov-action action to v6
2026-04-17 23:12:23 +01:00
renovate[bot] 01a3b24a8a Update codecov/codecov-action action to v6 2026-04-17 22:06:59 +00:00
JingleManSweep 1c4eb23276 Merge pull request #148 from ipnet-mesh/feat/meshcore-packet-capture-receiver
LetsMesh Integration
2026-04-17 23:06:36 +01:00
Louis King 7be5b0585c Sync documentation: add missing env vars, fix project structure trees 2026-04-17 23:04:35 +01:00
Louis King e9bab33560 Restrict opencode workflow to repo owners/members/collaborators 2026-04-17 22:47:43 +01:00
Louis King f1dc155a0f Move Webhooks and Custom Content sections to dedicated docs 2026-04-17 22:38:15 +01:00
Louis King ccadfa73fd Remove redundant docker-compose commands, move ARM note to Simple Self-Hosted Setup 2026-04-17 22:28:19 +01:00
Louis King d565e2d7a2 Add ARM/Raspberry Pi note for observer service with native install guidance 2026-04-17 22:25:18 +01:00
Louis King bba1dce1ad Fix acknowledgments: add meshcore-mqtt-broker, remove outdated packet-capture image note 2026-04-17 22:16:04 +01:00
Louis King 668e0c5c89 Add critical rule: never git push without explicit confirmation 2026-04-17 22:00:47 +01:00
Louis King 2cea27a85f Move translation guide to docs/i18n.md, update all references 2026-04-17 21:58:36 +01:00
Louis King dfda1a3ec1 Combine Setup and Manual Installation into single Development section 2026-04-17 21:47:47 +01:00
Louis King 34f6b69803 Move Seed Data to docs/seeding.md, move Manual Installation to Development, note packet-capture Docker image 2026-04-17 21:01:37 +01:00
Louis King 0b0a755400 Promote Feature Flags heading to same level as other config sections 2026-04-17 20:54:24 +01:00
Louis King cdfe18ff20 Move Reverse Proxy section to Production Setup, restore Feature Flags heading 2026-04-17 20:52:30 +01:00
Louis King 0e87f906b4 Move Nginx Proxy Manager setup to docs/hosting/, add Reverse Proxy section with links 2026-04-17 20:48:48 +01:00
Louis King 03afe57a16 Move UPGRADING.md to docs/ with versioned headings, extract LetsMesh decoding to docs/letsmesh.md 2026-04-17 20:41:37 +01:00
Louis King 57e7197eea Add docs-sync skill for documentation accuracy auditing
Custom skill that audits and fixes discrepancies between source code
(Pydantic Settings, Click CLI, Docker Compose) and primary documentation
files (README.md, AGENTS.md, UPGRADING.md, .env.example, SCHEMAS.md).
2026-04-17 18:16:58 +01:00
Louis King 5bec26e5ff Align MQTT_TRANSPORT and MQTT_WS_PATH defaults with MeshCore broker requirements
The MeshCore MQTT broker requires WebSocket transport, but Python defaults
were still tcp and /mqtt from the Mosquitto era. Align all defaults to
websockets and / to match Docker Compose and documented behavior.

Also fixes docs-sync audit findings:
- Remove stale PLAN.md/TASKS.md references from AGENTS.md
- Add missing NETWORK_DOMAIN, NETWORK_NAME vars to AGENTS.md env list
- Add missing WEBHOOK_CHANNEL_MESSAGE_SECRET and WEBHOOK_DIRECT_MESSAGE_SECRET
  to AGENTS.md webhook table
- Add native install note for MQTT_HOST in .env.example
- Update UPGRADING.md note to reflect aligned defaults
2026-04-17 18:16:25 +01:00
Louis King 179e3bd39b Add tests to improve patch coverage for PR #148
Covers duplicate event dedup/observer paths, IntegrityError handling,
sender name resolution, observer lists in API responses, subscriber
dispatch lifecycle, MQTT retry, and CLI group/run/seed commands.
2026-04-17 17:27:06 +01:00
Louis King 8d8d52afea Fix 'all' profile services list in README to include mqtt and observer 2026-04-16 23:51:44 +01:00
Louis King f0b44d28ab Rename Docker volumes: hub_data→data, mqtt_broker_data→mqtt_data; rename db-migrate service to migrate 2026-04-16 23:47:34 +01:00
Louis King b5fc4c06a0 Rename receiver profile to observer, packet-capture service to observer, hub-dev fallback to hub
- Rename compose profile 'receiver' -> 'observer' across all docs
- Rename docker-compose service 'packet-capture' -> 'observer' and volume
  'packetcapture_data' -> 'observer_data'
- Change COMPOSE_PROJECT_NAME fallback from 'hub-dev' to 'hub' across all
  compose files, Makefile, .env, docs
- Remove legacy interface-mock service from test compose file
2026-04-16 23:12:22 +01:00
Louis King 3614eaf24b Restructure README: move profiles to Getting Started, add Production Setup, remove Multi-Instance
- Move Docker Compose Profiles section under Getting Started before Simple Self-Hosted Setup
- Add Production Setup section with reverse proxy config and Traefik instructions
- Remove Multi-Instance Deployment section
2026-04-16 22:54:03 +01:00
Louis King 0a37010db6 Remove bundled Prometheus/Alertmanager, fix Getting Started and docker compose examples
- Remove monitoring services from all docker compose files — monitoring is now
  user-managed infrastructure (users point their own Prometheus at /metrics)
- Remove metrics profile, prometheus/alertmanager volumes from Makefile
- Update README Getting Started: packet capture is included via --profile receiver,
  not a separate prerequisite; add remote observers guide
- Add --profile all to all docker compose command examples in README and UPGRADING.md
- Simplify UPGRADING.md backup/migration to only meshcore_hub_data
2026-04-16 22:47:07 +01:00
Louis King ac18c80675 Fix upgrade backup instructions: use actual old volume names, remove non-existent volumes
The backup commands referenced COMPOSE_PROJECT_NAME and volumes (packetcapture_data,
mqtt_broker_data, mosquitto_data) that don't exist on pre-upgrade installs. Rewrote
backup step with explicit meshcore_* volume names, removed Mosquitto/mqtt-broker
migration sections, and added Makefile fallback for COMPOSE_PROJECT_NAME.
2026-04-16 22:17:30 +01:00
Louis King 0427378a18 Fix inaccuracies in UPGRADING.md: move MQTT creds to update section, add Python defaults note, document received_at rename 2026-04-14 22:53:08 +01:00
Louis King 1e4a75f074 Rename COLLECTOR_LETSMESH_DECODER_KEYS to COLLECTOR_CHANNEL_KEYS
Simplify the variable name to remove the legacy LetsMesh decoder prefix.
Also fix unparenthesized except tuples in web/app.py and promote the
parenthesized-exception rule to a prominent position in AGENTS.md.
2026-04-14 22:41:27 +01:00
Louis King 0302c0c661 Add channel filter to Messages page, fix channel label display and decoder key parsing
- Add Channel dropdown filter to Messages page (uses existing API channel_idx param)
- Add i18n keys: entities.channel, common.all_channels
- Stop auto-prefixing # on non-hashtag channel labels (Ipswich, IPNet, etc.)
- Strip quotes from decoder key entries to fix .env parsing in Docker Compose
- Add debug logging for decoder initialization and failed decryption
- Fix except syntax (AttributeError, TypeError -> parenthesized tuple)
2026-04-14 22:05:00 +01:00
Louis King aeac44e8c7 Fix stale DOMAIN reference in traefik override comment 2026-04-14 20:43:59 +01:00
Louis King f4648d7fe7 Split Docker Compose into base/dev/prod/traefik overrides with multi-instance support
- Split docker-compose.yml into base config + environment overrides
  - docker-compose.dev.yml: port mappings for local development
  - docker-compose.prod.yml: external proxy-net network, no exposed ports
  - docker-compose.traefik.yml: optional Traefik auto-discovery labels
- Parameterize container and volume names with COMPOSE_PROJECT_NAME
  - Default: hub-dev (containers: hub-dev-api, volumes: hub-dev_hub_data)
  - Override per instance for multi-instance deployments (hub-prod, hub-beta)
- Add Makefile with build/up/down/logs/backup/restore targets
- Add TRAEFIK_DOMAIN env var for Traefik routing configuration
- Update UPGRADING.md with volume migration instructions (rename + copy methods)
- Update README.md with multi-instance deployment and backup/restore sections
2026-04-14 20:41:26 +01:00
Louis King 123dc180f0 Move warning block above screenshot in README 2026-04-13 22:52:08 +01:00
Louis King f2c8581b10 Remove stale COLLECTOR_INGEST_MODE reference from docker-compose comment 2026-04-13 22:50:07 +01:00
Louis King 2d35249711 Remove stale .claude/ and .plans/ directories 2026-04-13 22:43:40 +01:00
Louis King 700b4a0888 Remove stale references to deleted PROMPT.md, PLAN.md, TASKS.md from README 2026-04-13 22:37:47 +01:00
Louis King dbd68e9a9f Replace obsolete MQTT broker image with custom build, add connection retry and upgrade docs
- Add custom Dockerfile for meshcore-mqtt-broker (Node 22 Alpine, built from michaelhart/meshcore-mqtt-broker source)
- Add GitHub Actions workflow for weekly multi-arch MQTT broker image builds
- Add local build script (etc/docker/meshcore-mqtt-broker/build.sh)
- Update docker-compose.yml and test compose to use new ghcr.io image
- Add MQTT connection retry logic with exponential backoff to collector subscriber
- Create UPGRADING.md with migration guide for breaking changes
- Update README.md and AGENTS.md for accuracy (Python 3.14, removed commands, fixed MQTT defaults)
- Remove obsolete files (etc/mosquitto.conf, .agentmap.yaml, CLAUDE.md)
2026-04-13 22:27:39 +01:00
Louis King fb6913ac3d Merge branch 'feat/meshcore-packet-capture-receiver' of github.com:ipnet-mesh/meshcore-hub into feat/meshcore-packet-capture-receiver 2026-04-12 18:04:18 +01:00
Louis King bf6b86696c Migrate from Node.js meshcore-decoder CLI to native Python meshcoredecoder library
Replace subprocess-based packet decoding with native Python meshcoredecoder>=0.3.2.
The decoder is now always enabled (no toggle), removing ENABLED/COMMAND/TIMEOUT
config vars. Adds _enrich_payload_decoded() to compensate for payload classes that
lack to_dict() overrides in the library. Removes Node.js/npm from Dockerfile and
deletes the patches/ directory. Adds parenthesized exception rule to AGENTS.md.
2026-04-12 18:03:20 +01:00
JingleManSweep 397084eff5 Merge branch 'main' into feat/meshcore-packet-capture-receiver 2026-04-12 14:23:10 +01:00
Louis King 8b54228c94 Merge branch 'main' of github.com:ipnet-mesh/meshcore-hub into feat/meshcore-packet-capture-receiver 2026-04-12 14:22:45 +01:00