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 - MeshRank.net - PACKETCAPTURE_MQTT2_ENABLED=${MESHRANK_ENABLE:-false} - PACKETCAPTURE_MQTT2_SERVER=meshrank.net - PACKETCAPTURE_MQTT2_PORT=8883 - PACKETCAPTURE_MQTT2_TRANSPORT=tcp - PACKETCAPTURE_MQTT2_USE_TLS=true - PACKETCAPTURE_MQTT2_TLS_VERIFY=true - PACKETCAPTURE_MQTT2_KEEPALIVE=120 - PACKETCAPTURE_MQTT2_TOPIC_PACKETS=meshrank/uplink/${MESHRANK_UPLINK_KEY}/{PUBLIC_KEY}/packets - PACKETCAPTURE_MQTT2_TOPIC_STATUS=meshrank/uplink/${MESHRANK_UPLINK_KEY}/{PUBLIC_KEY}/status # MQTT Broker 3 - Custom - PACKETCAPTURE_MQTT3_ENABLED=${CUSTOM_ENABLE:-false} - PACKETCAPTURE_MQTT3_SERVER=${CUSTOM_MQTT_SERVER:-mqtt.example.com} - PACKETCAPTURE_MQTT3_PORT=${CUSTOM_MQTT_PORT:-8883} - PACKETCAPTURE_MQTT3_TRANSPORT=${CUSTOM_MQTT_TRANSPORT:-tcp} - PACKETCAPTURE_MQTT3_USE_TLS=${CUSTOM_MQTT_USE_TLS:-true} - PACKETCAPTURE_MQTT3_TLS_VERIFY=${CUSTOM_MQTT_TLS_VERIFY:-true} - PACKETCAPTURE_MQTT3_USERNAME=${CUSTOM_MQTT_USERNAME:-username} - PACKETCAPTURE_MQTT3_PASSWORD=${CUSTOM_MQTT_PASSWORD:-password} - PACKETCAPTURE_MQTT3_KEEPALIVE=${CUSTOM_MQTT_KEEPALIVE:-120} - PACKETCAPTURE_MQTT3_TOPIC_PACKETS=${CUSTOM_MQTT_TOPIC_PACKETS:-meshcore/{IATA}/{PUBLIC_KEY}/packets} - PACKETCAPTURE_MQTT3_TOPIC_STATUS=${CUSTOM_MQTT_TOPIC_STATUS:-meshcore/{IATA}/{PUBLIC_KEY}/status} restart: unless-stopped volumes: data: