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