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 ….