Traccar con Docker no recibe datos de los dispositivos GPS

Buenas

Hace unos días en el grupo de Telegram me encontré una duda de un usuario que no conseguía recibir datos de los dispositivos gps en el Docker de Traccar , le pase los siguientes datos de mi docker-compose y de la parte de traefik para ponerlo todo en marcha y que le funcionara.

En el docker-compose hay que exponer todos los puertos que vayan a necesitar nuestros dispositivos tanto en TCP como en UDP , solo ira en TCP el 8082 que sera el de acceso a la pagina web de Traccar

traccar_sql:
    # image: traccar/traccar:5.6-ubuntu
    image: traccar/traccar:5.6-alpine
    hostname: traccar_sql
    container_name: traccar_sql
    expose:
      - "8082"
      - "5013"
      - "5055"
      - "5027" 
      - "5023"    
    ports:
      - "8082:8082"
      - "5013:5013"
      - "5013:5013/udp"      
      - "5055:5055"
      - "5055:5055/udp"  
      - "5027:5027"
      - "5027:5027/udp"  
      - "5023:5023"
      - "5023:5023/udp"  
    volumes:
      - ${DOCKERDIR}/traccar_sql/logs:/opt/traccar/logs:rw
      - ${DOCKERDIR}/traccar_sql/conf/traccar.xml:/opt/traccar/conf/traccar.xml:rw
      - ${DOCKERDIR}/traccar_sql/databases:/opt/traccar/data:rw   
    networks:
      - traefik  
      - default
    depends_on:
      - lamp_sensores
    logging:
        driver: "json-file"
        options:
            max-file: "10"
            max-size: "200k"
    restart: always

Luego los puertos de los diferentes dispositivos , en este caso 5013,5055.5027 y 5023 redirigidos por NAT desde el router a la IP de la maquina donde esta el Docker

En la configuración de nuestro traefik en la sección routers crearemos un router que apunte a Traccar

    traccar:
      loadBalancer:
        servers:
          - url: "http://192.168.1.20:8082"

Crearemos los Middlewares en su sección en este caso hacemos que dos dominios con dos subdominios apunten al router previamente creado y redirigimos de http a https , también definimos certResolver para la generación automática de certificados.

traccar-http:
      entryPoints:
        - http
      service: traccar
      middlewares:
        - redirect
      rule: "Host(zzzzzzzz.xxxxxx.duckdns.org)"
    traccar-https:
      entryPoints:
        - https
      service: traccar
      rule: "Host(zzzzzzzz.xxxxxx.duckdns.org)"
      tls:
        certResolver: le

    gps-http:
      entryPoints:
        - http
      service: traccar
      middlewares:
        - redirect
      rule: "Host(yyyyyyy.xxxxxx.duckdns.org)"
    gps-https:
      entryPoints:
        - https
      service: traccar
      rule: "Host(yyyyyyy.xxxxxx.duckdns.org)"
      tls:
        certResolver: le

    ########## 

    traccar-http-cloud:
      entryPoints:
        - http
      service: traccar
      middlewares:
        - redirect
      rule: "Host(zzzzzzzz.xxxxxx.cloud)"
    traccar-https-cloud:
      entryPoints:
        - https
      service: traccar
      rule: "Host(zzzzzzzz.xxxxxx.cloud)"
      tls:
        certResolver: le
        domains:
          - main: "xxxxxx.cloud"
            sans:
              - "*.xxxxxx.cloud"  
    gps-http-cloud:
      entryPoints:
        - http
      service: traccar
      middlewares:
        - redirect
      rule: "Host(yyyyyyy.xxxxxx.cloud)"
    gps-https-cloud:
      entryPoints:
        - https
      service: traccar
      rule: "Host(yyyyyyy.xxxxxx.cloud)"
      tls:
        certResolver: le
        domains:
          - main: "xxxxxx.cloud"
            sans:
              - "*.xxxxxx.cloud"

Si vamos a la sección de logs veremos como empezamos a recibir datos de los dispositivos

Y con esto y un bizcocho ….