mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-07-04 00:41:50 +02:00
131 lines
3.3 KiB
Bash
131 lines
3.3 KiB
Bash
# MeshCore Hub - Docker Compose Environment Configuration
|
|
# Copy this file to .env and customize values
|
|
|
|
# ===================
|
|
# Docker Image
|
|
# ===================
|
|
|
|
# Leave empty to build from local Dockerfile, or set to use a pre-built image:
|
|
# MESHCORE_IMAGE=ghcr.io/ipnet-mesh/meshcore-hub:latest
|
|
# MESHCORE_IMAGE=ghcr.io/ipnet-mesh/meshcore-hub:main
|
|
# MESHCORE_IMAGE=ghcr.io/ipnet-mesh/meshcore-hub:v1.0.0
|
|
MESHCORE_IMAGE=
|
|
|
|
# ===================
|
|
# Data Directory
|
|
# ===================
|
|
|
|
# Base directory for all service data (collector DB, tags, members, etc.)
|
|
# Default: ./data (relative to docker-compose.yml location)
|
|
# Inside containers this is mapped to /data
|
|
#
|
|
# Structure:
|
|
# ${DATA_HOME}/
|
|
# ├── collector/
|
|
# │ ├── meshcore.db # SQLite database
|
|
# │ └── tags.json # Node tags for import
|
|
# └── web/
|
|
# └── members.json # Network members list
|
|
DATA_HOME=./data
|
|
|
|
# ===================
|
|
# Common Settings
|
|
# ===================
|
|
|
|
# Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
|
|
LOG_LEVEL=INFO
|
|
|
|
# MQTT Broker Settings (internal use)
|
|
MQTT_USERNAME=
|
|
MQTT_PASSWORD=
|
|
MQTT_PREFIX=meshcore
|
|
|
|
# External MQTT port mapping
|
|
MQTT_EXTERNAL_PORT=1883
|
|
MQTT_WS_PORT=9001
|
|
|
|
# ===================
|
|
# Interface Settings
|
|
# ===================
|
|
|
|
# Serial port for receiver device
|
|
SERIAL_PORT=/dev/ttyUSB0
|
|
|
|
# Serial port for sender device (if separate)
|
|
SERIAL_PORT_SENDER=/dev/ttyUSB1
|
|
|
|
# Baud rate for serial communication
|
|
SERIAL_BAUD=115200
|
|
|
|
# Optional node address override (64-char hex string)
|
|
NODE_ADDRESS=
|
|
NODE_ADDRESS_SENDER=
|
|
|
|
# ===================
|
|
# API Settings
|
|
# ===================
|
|
|
|
# External API port
|
|
API_PORT=8000
|
|
|
|
# API Keys for authentication (generate secure keys for production!)
|
|
# Example: openssl rand -hex 32
|
|
API_READ_KEY=
|
|
API_ADMIN_KEY=
|
|
|
|
# ===================
|
|
# Web Dashboard Settings
|
|
# ===================
|
|
|
|
# External web port
|
|
WEB_PORT=8080
|
|
|
|
# Network Information (displayed on web dashboard)
|
|
NETWORK_NAME=MeshCore Network
|
|
NETWORK_CITY=
|
|
NETWORK_COUNTRY=
|
|
NETWORK_LOCATION=
|
|
|
|
# Radio configuration (comma-delimited)
|
|
# Format: <profile>,<frequency>,<bandwidth>,<spreading_factor>,<coding_rate>,<tx_power>
|
|
# Example: EU/UK Narrow,869.618MHz,62.5kHz,8,8,22dBm
|
|
NETWORK_RADIO_CONFIG=
|
|
|
|
NETWORK_CONTACT_EMAIL=
|
|
NETWORK_CONTACT_DISCORD=
|
|
|
|
# Welcome text displayed on the homepage (plain text, optional)
|
|
# If not set, a default welcome message is shown
|
|
NETWORK_WELCOME_TEXT=
|
|
|
|
# Members file location (optional override)
|
|
# Default: ${DATA_HOME}/web/members.json
|
|
# Only set this if you want to use a different location
|
|
# MEMBERS_FILE=/custom/path/to/members.json
|
|
|
|
# ===================
|
|
# Webhook Settings
|
|
# ===================
|
|
|
|
# Webhook for advertisement events (node discovery)
|
|
# Events are sent as POST requests with JSON payload
|
|
WEBHOOK_ADVERTISEMENT_URL=
|
|
WEBHOOK_ADVERTISEMENT_SECRET=
|
|
|
|
# Webhook for all message events (channel and direct messages)
|
|
# Use this for a single endpoint handling all messages
|
|
WEBHOOK_MESSAGE_URL=
|
|
WEBHOOK_MESSAGE_SECRET=
|
|
|
|
# Optional: Separate URLs for channel vs direct messages
|
|
# These override WEBHOOK_MESSAGE_URL if set
|
|
# WEBHOOK_CHANNEL_MESSAGE_URL=
|
|
# WEBHOOK_CHANNEL_MESSAGE_SECRET=
|
|
# WEBHOOK_DIRECT_MESSAGE_URL=
|
|
# WEBHOOK_DIRECT_MESSAGE_SECRET=
|
|
|
|
# Webhook behavior settings
|
|
WEBHOOK_TIMEOUT=10.0
|
|
WEBHOOK_MAX_RETRIES=3
|
|
WEBHOOK_RETRY_BACKOFF=2.0
|