Files
meshcore-hub/contrib/packetcapture/docker-compose.yml
T
2026-05-18 21:44:45 +01:00

64 lines
2.9 KiB
YAML

services:
meshcore-packet-capture:
image: ghcr.io/agessaman/meshcore-packet-capture:latest
container_name: meshcore-packet-capture
devices:
- ${SERIAL_PORT:-/dev/ttyUSB0}
group_add:
- dialout
volumes:
- data:/app/data
environment:
# Connection
- PACKETCAPTURE_CONNECTION_TYPE=${CONNECTION_TYPE:-serial}
- PACKETCAPTURE_SERIAL_PORTS=${SERIAL_PORT:-/dev/ttyUSB0}
# Area/Origin
- PACKETCAPTURE_IATA=${IATA:-STN}
- PACKETCAPTURE_ORIGIN=${ORIGIN:-observer}
# Schedule/Timeouts
- PACKETCAPTURE_ADVERT_INTERVAL_HOURS=${ADVERT_INTERVAL_HOURS:-11}
# MQTT Broker 1 - IPNet
- PACKETCAPTURE_MQTT1_ENABLED=${IPNET_ENABLE:-false}
- PACKETCAPTURE_MQTT1_SERVER=mqtt.ipnt.uk
- PACKETCAPTURE_MQTT1_PORT=443
- PACKETCAPTURE_MQTT1_TOKEN_AUDIENCE=mqtt.ipnt.uk
- PACKETCAPTURE_MQTT1_USE_TLS=true
- PACKETCAPTURE_MQTT1_TRANSPORT=websockets
- PACKETCAPTURE_MQTT1_USE_AUTH_TOKEN=true
- PACKETCAPTURE_MQTT1_KEEPALIVE=120
# MQTT Broker 2 - LetsMesh Analyzer
- PACKETCAPTURE_MQTT2_ENABLED=${LETSMESH_ENABLE:-false}
- PACKETCAPTURE_MQTT2_SERVER=mqtt-${LETSMESH_REGION:-eu}-v1.letsmesh.net
- PACKETCAPTURE_MQTT2_PORT=443
- PACKETCAPTURE_MQTT2_TRANSPORT=websockets
- PACKETCAPTURE_MQTT2_USE_TLS=true
- PACKETCAPTURE_MQTT2_USE_AUTH_TOKEN=true
- PACKETCAPTURE_MQTT2_TOKEN_AUDIENCE=mqtt-${LETSMESH_REGION:-eu}-v1.letsmesh.net
- PACKETCAPTURE_MQTT2_KEEPALIVE=120
# MQTT Broker 3 - MeshRank.net
- PACKETCAPTURE_MQTT3_ENABLED=${MESHRANK_ENABLE:-false}
- PACKETCAPTURE_MQTT3_SERVER=meshrank.net
- PACKETCAPTURE_MQTT3_PORT=8883
- PACKETCAPTURE_MQTT3_TRANSPORT=tcp
- PACKETCAPTURE_MQTT3_USE_TLS=true
- PACKETCAPTURE_MQTT3_TLS_VERIFY=true
- PACKETCAPTURE_MQTT3_KEEPALIVE=120
- PACKETCAPTURE_MQTT3_TOPIC_PACKETS=meshrank/uplink/${MESHRANK_UPLINK_KEY}/{PUBLIC_KEY}/packets
- PACKETCAPTURE_MQTT3_TOPIC_STATUS=meshrank/uplink/${MESHRANK_UPLINK_KEY}/{PUBLIC_KEY}/status
# MQTT Broker 4 - Custom
- PACKETCAPTURE_MQTT4_ENABLED=${CUSTOM_ENABLE:-false}
- PACKETCAPTURE_MQTT4_SERVER=${CUSTOM_MQTT_SERVER:-mqtt.example.com}
- PACKETCAPTURE_MQTT4_PORT=${CUSTOM_MQTT_PORT:-8883}
- PACKETCAPTURE_MQTT4_TRANSPORT=${CUSTOM_MQTT_TRANSPORT:-tcp}
- PACKETCAPTURE_MQTT4_USE_TLS=${CUSTOM_MQTT_USE_TLS:-true}
- PACKETCAPTURE_MQTT4_TLS_VERIFY=${CUSTOM_MQTT_TLS_VERIFY:-true}
- PACKETCAPTURE_MQTT4_USERNAME=${CUSTOM_MQTT_USERNAME:-username}
- PACKETCAPTURE_MQTT4_PASSWORD=${CUSTOM_MQTT_PASSWORD:-password}
- PACKETCAPTURE_MQTT4_KEEPALIVE=${CUSTOM_MQTT_KEEPALIVE:-120}
- PACKETCAPTURE_MQTT4_TOPIC_PACKETS=${CUSTOM_MQTT_TOPIC_PACKETS:-meshcore/{IATA}/{PUBLIC_KEY}/packets}
- PACKETCAPTURE_MQTT4_TOPIC_STATUS=${CUSTOM_MQTT_TOPIC_STATUS:-meshcore/{IATA}/{PUBLIC_KEY}/status}
restart: unless-stopped
volumes:
data: