meshcore-packet-capture/docker-compose.yml

64 lines
2 KiB
YAML
Raw Normal View History

version: '3.8'
services:
meshcore-capture:
build: .
container_name: meshcore-packet-capture
privileged: true # Required for BLE access and device communication
devices:
# Mount serial devices (uncomment and modify as needed)
- /dev/ttyUSB0:/dev/ttyUSB0
- /dev/ttyUSB1:/dev/ttyUSB1
- /dev/ttyACM0:/dev/ttyACM0
volumes:
# Persistent data storage
- ./data:/app/data
# Configuration files (optional - can use environment variables instead)
- ./.env.local:/app/.env.local:ro
environment:
# Connection settings
- PACKETCAPTURE_CONNECTION_TYPE=ble
- PACKETCAPTURE_TIMEOUT=30
- PACKETCAPTURE_MAX_CONNECTION_RETRIES=5
- PACKETCAPTURE_CONNECTION_RETRY_DELAY=5
- PACKETCAPTURE_HEALTH_CHECK_INTERVAL=30
# MQTT settings (configure as needed)
- PACKETCAPTURE_MQTT1_ENABLED=true
- PACKETCAPTURE_MQTT1_SERVER=localhost
- PACKETCAPTURE_MQTT1_PORT=1883
- PACKETCAPTURE_MQTT1_USERNAME=
- PACKETCAPTURE_MQTT1_PASSWORD=
- PACKETCAPTURE_MQTT1_USE_TLS=false
# MQTT reconnection settings
- PACKETCAPTURE_MAX_MQTT_RETRIES=5
- PACKETCAPTURE_MQTT_RETRY_DELAY=5
- PACKETCAPTURE_EXIT_ON_RECONNECT_FAIL=true
# Topic settings
- PACKETCAPTURE_TOPIC_STATUS=meshcore/status
- PACKETCAPTURE_TOPIC_PACKETS=meshcore/packets
- PACKETCAPTURE_TOPIC_RAW=meshcore/raw
- PACKETCAPTURE_TOPIC_DECODED=meshcore/decoded
- PACKETCAPTURE_TOPIC_DEBUG=meshcore/debug
# Device settings
- PACKETCAPTURE_IATA=LOC
- PACKETCAPTURE_ORIGIN=PacketCapture Docker
# Advert settings
- PACKETCAPTURE_ADVERT_INTERVAL_HOURS=11
# RF data settings
- PACKETCAPTURE_RF_DATA_TIMEOUT=15.0
networks:
- meshcore-network
restart: unless-stopped
# Uncomment for host networking (may be needed for BLE discovery)
# network_mode: host
networks:
meshcore-network:
driver: bridge