mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-03-28 17:42:56 +01:00
Fixed README and Compose
This commit is contained in:
44
README.md
44
README.md
@@ -83,7 +83,7 @@ cp .env.example .env
|
||||
# Edit .env: set SERIAL_PORT to your device (e.g., /dev/ttyUSB0 or /dev/ttyACM0)
|
||||
|
||||
# Start the entire stack including the interface receiver
|
||||
docker compose --profile interface-receiver up -d
|
||||
docker compose --profile core --profile receiver up -d
|
||||
|
||||
# View the web dashboard
|
||||
open http://localhost:8080
|
||||
@@ -105,7 +105,7 @@ For larger deployments, you can separate receiver nodes from the central infrast
|
||||
│ │ Device │ │ Device │ │ Device │ │
|
||||
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
|
||||
│ │ │ │ │
|
||||
│ │ interface-receiver only │ │
|
||||
│ │ receiver profile only │ │
|
||||
│ └──────────────────┼──────────────────┘ │
|
||||
│ │ │
|
||||
│ MQTT (port 1883) │
|
||||
@@ -126,18 +126,18 @@ For larger deployments, you can separate receiver nodes from the central infrast
|
||||
|
||||
**On each receiver node (Raspberry Pi, etc.):**
|
||||
```bash
|
||||
# Only run the interface-receiver component
|
||||
# Only run the receiver component
|
||||
# Configure .env with MQTT_HOST pointing to your central server
|
||||
MQTT_HOST=your-community-server.com
|
||||
SERIAL_PORT=/dev/ttyUSB0
|
||||
|
||||
docker compose --profile interface-receiver up -d
|
||||
docker compose --profile receiver up -d
|
||||
```
|
||||
|
||||
**On the central server (VPS/cloud):**
|
||||
```bash
|
||||
# Run the core infrastructure (no interface needed)
|
||||
docker compose up -d
|
||||
docker compose --profile core up -d
|
||||
```
|
||||
|
||||
This architecture allows:
|
||||
@@ -150,26 +150,16 @@ This architecture allows:
|
||||
|
||||
### Using Docker Compose (Recommended)
|
||||
|
||||
Docker Compose runs core services by default and uses **profiles** for optional components:
|
||||
Docker Compose uses **profiles** to select which services to run:
|
||||
|
||||
**Default Services (always run):**
|
||||
|
||||
| Service | Description |
|
||||
|---------|-------------|
|
||||
| `mqtt` | Eclipse Mosquitto MQTT broker |
|
||||
| `collector` | MQTT subscriber + database storage (auto-seeds on startup) |
|
||||
| `api` | REST API server |
|
||||
| `web` | Web dashboard |
|
||||
|
||||
**Optional Profiles:**
|
||||
|
||||
| Profile | Services |
|
||||
|---------|----------|
|
||||
| `interface-receiver` | MeshCore device receiver (events to MQTT) |
|
||||
| `interface-sender` | MeshCore device sender (MQTT to device) |
|
||||
| `mock` | Mock device receiver (for testing without hardware) |
|
||||
| `migrate` | One-time database migration runner |
|
||||
| `seed` | One-time seed data import (also runs automatically on collector startup) |
|
||||
| Profile | Services | Use Case |
|
||||
|---------|----------|----------|
|
||||
| `core` | mqtt, collector, api, web | Central server infrastructure |
|
||||
| `receiver` | mqtt, interface-receiver | Receiver node (events to MQTT) |
|
||||
| `sender` | mqtt, interface-sender | Sender node (MQTT to device) |
|
||||
| `mock` | mqtt, interface-mock-receiver | Testing without hardware |
|
||||
| `migrate` | db-migrate | One-time database migration |
|
||||
| `seed` | seed | One-time seed data import |
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
@@ -187,10 +177,10 @@ docker compose --profile migrate run --rm db-migrate
|
||||
docker compose --profile seed run --rm seed
|
||||
|
||||
# Start core services (mqtt, collector, api, web)
|
||||
docker compose up -d
|
||||
docker compose --profile core up -d
|
||||
|
||||
# Start sender/receiver interface
|
||||
docker compose --profile interface-receiver up -d
|
||||
# Or start just the receiver (for distributed setups)
|
||||
docker compose --profile receiver up -d
|
||||
|
||||
# View logs
|
||||
docker compose logs -f
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
services:
|
||||
# ==========================================================================
|
||||
# MQTT Broker - Eclipse Mosquitto
|
||||
# Included in all profiles that need it (receiver, sender, core, mock)
|
||||
# ==========================================================================
|
||||
mqtt:
|
||||
image: eclipse-mosquitto:2
|
||||
container_name: meshcore-mqtt
|
||||
profiles:
|
||||
- receiver
|
||||
- sender
|
||||
- core
|
||||
- mock
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${MQTT_EXTERNAL_PORT:-1883}:1883"
|
||||
@@ -30,7 +36,7 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
container_name: meshcore-interface-receiver
|
||||
profiles:
|
||||
- interface-receiver
|
||||
- receiver
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mqtt:
|
||||
@@ -66,7 +72,7 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
container_name: meshcore-interface-sender
|
||||
profiles:
|
||||
- interface-sender
|
||||
- sender
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mqtt:
|
||||
@@ -133,6 +139,8 @@ services:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: meshcore-collector
|
||||
profiles:
|
||||
- core
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mqtt:
|
||||
@@ -180,6 +188,8 @@ services:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: meshcore-api
|
||||
profiles:
|
||||
- core
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mqtt:
|
||||
@@ -222,6 +232,8 @@ services:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: meshcore-web
|
||||
profiles:
|
||||
- core
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
api:
|
||||
|
||||
Reference in New Issue
Block a user