Files
qnap-containers/core-os-podman/meshcore-capture.tf
Rescla fb3bae4fcd Updates
Add meshcore capture
2026-02-09 09:30:45 +01:00

69 lines
2.0 KiB
HCL

data "docker_registry_image" "meshcore-capture" {
name = "ghcr.io/agessaman/meshcore-packet-capture:latest"
}
resource "docker_image" "meshcore-capture" {
name = data.docker_registry_image.meshcore-capture.name
pull_triggers = [data.docker_registry_image.meshcore-capture.sha256_digest]
}
resource "docker_container" "meshcore-capture" {
image = docker_image.meshcore-capture.image_id
name = "meshcore-capture"
restart = "always"
devices {
host_path = "/dev/serial/by-id/usb-Heltec_HT-n5262_8E03063C48F80143-if00"
container_path = "/dev/ttyUSB0"
permissions = "rwm"
}
env = [
"PACKETCAPTURE_CONNECTION_TYPE=serial",
"PACKETCAPTURE_MQTT1_ENABLED=true",
"PACKETCAPTURE_MQTT1_SERVER=mqtt-us-v1.letsmesh.net",
"PACKETCAPTURE_MQTT1_PORT=443",
"PACKETCAPTURE_MQTT1_TRANSPORT=websockets",
"PACKETCAPTURE_MQTT1_USE_TLS=true",
"PACKETCAPTURE_MQTT1_USE_AUTH_TOKEN=true",
"PACKETCAPTURE_MQTT1_TOKEN_AUDIENCE=mqtt-us-v1.letsmesh.net",
"PACKETCAPTURE_MQTT1_KEEPALIVE=120",
# MQTT Broker 2 - Let'sMesh Analyzer (EU)
"PACKETCAPTURE_MQTT2_ENABLED=true",
"PACKETCAPTURE_MQTT2_SERVER=mqtt-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-eu-v1.letsmesh.net",
"PACKETCAPTURE_MQTT2_KEEPALIVE=120",
# Custom MQTT broker (optional - uncomment and configure as needed)
"PACKETCAPTURE_MQTT3_ENABLED=true",
"PACKETCAPTURE_MQTT3_SERVER=172.20.0.96",
"PACKETCAPTURE_MQTT3_PORT=1883",
"PACKETCAPTURE_MQTT3_USERNAME=meshcore",
"PACKETCAPTURE_MQTT3_PASSWORD=9a9U49NraE*@cF",
"PACKETCAPTURE_MQTT3_USE_TLS=false",
"PACKETCAPTURE_IATA=LWR",
"PACKETCAPTURE_ORIGIN=NL-DJJ-MCF MQTT Gorredijk",
]
mounts {
target = "/data"
source = "/var/lib/containers/meshcore-capture"
type = "bind"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}