docker chirpstack and docker semtech can't communicate

Hi :slight_smile:

I’m trying to finalize my custom gateway based on semtech lr1302 board connected to a Toradex SoM.

I’m able to run in a container the semtech rf packet forwarder. I can see my dragino crypted messages when i push the reset button for example).

This semtech forwarder is tunning into a docker. I have to use docker because the Toradex image is really light almost nothing is installed on it and the advised way of working is to use docker ( for example gpio command for reset.sh script is required with the gpiolib, no way to exectute gpio command without docker or without building a custom image with Yocto for example).

Beside of this, i have git clone the nice chirpstack suite.

As i’m in France, i’m using the 868mhz, so by default, no modification needs to be done.

I have modified the docker compose, to build my docker with the semtech rf forwarder, by default, the semtech packet forwader send on port 1730. So i have modified it to send on udp 1700, because chirsptack listen on this one.

But it seems that, because the packet forwarder is running nto a container exposing 1700 and the chirstack-bridge also exposed the port 1700, there is a conflict .

Is it possible to work like this ( one packet forwarder container communicate to one chirpstack-bridge container through UDP ?)

How most of the people using semtech packet forwarder proceed usually?

Thanks a lot for your help, please find my docker compose:

version: “3”

services:

semtech_pkt_fwd:
build: .
volumes:

  • /dev:/dev
    device_cgroup_rules:
  • ‘c 254:* rmw’
  • ‘c 153:* rmw’
  • ‘c 89:* rmw’
    ports:
  • 1700:1700/udp

chirpstack:
image: chirpstack/chirpstack:4
command: -c /etc/chirpstack
restart: unless-stopped
volumes:

  • ./configuration/chirpstack:/etc/chirpstack
  • ./lorawan-devices:/opt/lorawan-devices
    depends_on:
  • postgres
  • mosquitto
  • redis
    environment:
  • MQTT_BROKER_HOST=mosquitto
  • REDIS_HOST=redis
  • POSTGRESQL_HOST=postgres
    ports:
  • 8080:8080
    networks:
  • semtech

chirpstack-gateway-bridge:
image: chirpstack/chirpstack-gateway-bridge:4
restart: unless-stopped
volumes:

  • ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
    environment:
  • INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}
  • INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}
  • INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/command/#
    depends_on:
  • mosquitto
    networks:
  • semtech

chirpstack-gateway-bridge-basicstation:
image: chirpstack/chirpstack-gateway-bridge:4
restart: unless-stopped
command: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-eu868.toml
ports:

  • 3001:3001
    volumes:
  • ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
    depends_on:
  • mosquitto
    networks:
  • semtech

chirpstack-rest-api:
image: chirpstack/chirpstack-rest-api:4
restart: unless-stopped
command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure
ports:

  • 8090:8090
    depends_on:
  • chirpstack
    networks:
  • semtech

postgres:
image: postgres:14-alpine
restart: unless-stopped
volumes:

  • ./configuration/postgresql/initdb:/docker-entrypoint-initdb.d
  • postgresqldata:/var/lib/postgresql/data
    environment:
  • POSTGRES_PASSWORD=root
    networks:
  • semtech

redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --save 300 1 --save 60 100 --appendonly no
volumes:

  • redisdata:/data
    networks:
  • semtech

mosquitto:
image: eclipse-mosquitto:2
restart: unless-stopped
ports:

  • 1883:1883
    volumes:
  • ./configuration/mosquitto/config/:/mosquitto/config/
    networks:
  • semtech

volumes:
postgresqldata:
redisdata:

networks:
semtech:
driver: bridge