BysMax

कोर्स सामग्री

कोर्स पर वापस जाएँ

Instalar Traccar en Synology NAS: Guía con Docker (DSM 6 y 7)

Guía paso a paso para instalar Traccar Server en Synology NAS mediante Docker. Configura traccar.xml y mapea las carpetas del contenedor.

Emmanuel Díaz Leal Hernández

May 25, 2024
मध्यवर्ती

Aprende cómo instalar Traccar en un NAS Synology (DSM 6 o DSM 7) o XPenology utilizando Docker / Container Manager. Te mostramos cómo realizar la instalación rápida y la instalación avanzada con persistencia de carpetas.

Opción 1: Instalación de Traccar básica (sin mapear carpetas)

Este método es ideal para pruebas rápidas donde no se necesite acceder de forma externa y sencilla a los archivos de configuración.

  1. Abre Docker / Container Manager en tu Synology.
  2. Ve a la pestaña Registro y busca traccar en la barra superior.
  3. Descarga la imagen traccar/traccar con la etiqueta latest.
  4. En Imagen, selecciona la imagen descargada de Traccar e inicia el asistente.
  5. En la configuración de red, selecciona Usar la misma red que Docker Host (modo host).
  6. Haz clic en Siguiente y finaliza la creación.

Si en algún momento necesitas acceder a la consola de comandos interna del contenedor, activa el acceso SSH en tu NAS y ejecuta:

docker exec -it NOMBREDETUCONTENEDOR /bin/sh

Opción 2: Instalación de Traccar avanzada (mapeando carpetas físicas)

Este método permite que los archivos de configuración, base de datos y logs se guarden de manera persistente en una carpeta compartida de tu Synology, facilitando la edición del archivo traccar.xml.

Paso 1: Descarga e inicio de la imagen

  1. En Docker / Container Manager, descarga la imagen traccar/traccar:latest.
  2. En la pestaña Imagen, selecciona Traccar y pulsa Iniciar.
  3. En la configuración de red, marca Usar la misma red que Docker Host y pulsa Siguiente.
  4. En la configuración general, aplica los siguientes valores:
    • Nombre del contenedor: traccarbien
    • Activa la casilla de altos privilegios.
    • Habilita el reinicio automático (en caso de caída del NAS).
  5. En la configuración de volúmenes, añade una ruta de montaje temporal para copiar la estructura inicial:
    • Haz clic en Agregar carpeta y selecciona /docker/traccar/pruebas/.
    • Escribe en la ruta de montaje interna: /opt/traccar/pruebas.
  6. Guarda los cambios e inicia el contenedor.

Paso 2: Copiar el contenido del contenedor a la carpeta física

Para extraer los archivos de configuración por defecto de Traccar a la carpeta física de tu Synology, accede por SSH mediante un cliente como Putty y ejecuta:

sudo -i
docker exec -it traccarbien /bin/sh 
mkdir /opt/traccar/pruebas
cp -r /opt/traccar/* /opt/traccar/pruebas/
rm -rf /opt/traccar/pruebas/pruebas

Detén el contenedor en la interfaz web de Synology y mueve los archivos a la carpeta definitiva ejecutando por SSH:

sudo -i
cp -r /volume1/docker/traccar/pruebas/* /volume1/docker/traccar/

(Nota: Ajusta volume1 o el número del volumen según la configuración de tu NAS).

Paso 3: Mapear el volumen definitivo

  1. Edita los parámetros del contenedor traccarbien detenido.
  2. Ve a Configuración de volúmenes.
  3. Borra el mapeo temporal anterior y agrega la carpeta compartida definitiva:
    • Carpeta local: docker/traccar
    • Ruta de montaje interna: /opt/traccar/
  4. Guarda y vuelve a Iniciar el contenedor.

A partir de este momento, todos los archivos de configuración de Traccar estarán accesibles de forma directa desde File Station en tu NAS en /VolumeX/docker/traccar/. Podrás editar el fichero de configuración de base de datos o puertos modificando el archivo traccar.xml y reiniciando el contenedor.

Para acceder al panel web, abre tu navegador e ingresa la IP local de tu NAS con el puerto 8082:

http://192.168.1.30:8082

Cómo instalar Traccar en Docker dentro de un NAS QNAP

A continuación, te explicamos cómo realizar una instalación persistente de Traccar 6.14 mediante Docker en tu NAS QNAP (utilizando Container Station), permitiendo que la configuración, bases de datos y registros se guarden fuera del contenedor para poder editarlos y respaldarlos con facilidad. Esta versión destaca por sus optimizaciones de rendimiento, como el batching de base de datos para escrituras eficientes y el lazy loading de la web app.


Paso 1: Crear la estructura de directorios

Desde el gestor de archivos de tu QNAP (File Station), crea un usuario llamado traccar o dirígete a su carpeta raíz. Dentro de la ruta de almacenamiento (por ejemplo, en homes/traccar/), crea tres subcarpetas con permisos de lectura y escritura:

  • databases
  • conf
  • logs

Paso 2: Descargar e Inicializar la Configuración

Accede a tu NAS QNAP por SSH (por ejemplo, usando PuTTY) y ejecuta los siguientes comandos para descargar la imagen oficial de Traccar y extraer el archivo de configuración base:

# Descargar la imagen oficial de Traccar
docker pull traccar/traccar

# Extraer el archivo traccar.xml por defecto a tu carpeta local mapeada
docker run --rm --entrypoint cat traccar/traccar /opt/traccar/conf/traccar.xml > /share/CACHEDEV1_DATA/homes/traccar/conf/traccar.xml

Paso 3: Lanzar el Contenedor

Ejecuta el siguiente comando en la consola SSH para crear y arrancar el contenedor de Traccar. Asegúrate de ajustar la ruta /share/CACHEDEV1_DATA/... si tu volumen principal tiene un nombre diferente:

docker run -d --restart always --name traccar --hostname traccar \
  -p 8082:8082 \
  -p 5000-5150:5000-5150 \
  -p 5000-5150:5000-5150/udp \
  -v /share/CACHEDEV1_DATA/homes/traccar/logs:/opt/traccar/logs:rw \
  -v /share/CACHEDEV1_DATA/homes/traccar/conf/traccar.xml:/opt/traccar/conf/traccar.xml:rw \
  -v /share/CACHEDEV1_DATA/homes/traccar/databases:/opt/traccar/data:rw \
  traccar/traccar

De esta forma, tendrás acceso directo a los registros (logs), archivo de configuración y la base de datos local desde File Station.


Problemas con Arranque y Base de Datos MySQL Externa en QNAP

Si intentas conectar el contenedor de Traccar con un servidor MySQL/MariaDB externo en tu NAS u otra máquina, podrías toparte con el siguiente error de inicialización en los logs:

ERROR: HikariPool-1 – Exception during pool initialization. – Host is unreachable (Host unreachable) – NoRouteToHostException

Este error suele darse porque el subsistema de red virtual de Container Station tarda unos segundos más en enrutar el tráfico (capa 3 del modelo OSI) al momento en que el contenedor arranca. El parámetro por defecto autoReconnect=true solo lo intenta 3 veces antes de fallar.

Solución:

Edita tu traccar.xml con un editor de textos y añade la directiva maxReconnects=100 a la URL de conexión para que Traccar siga intentando conectarse mientras la red virtual termina de levantarse:

<entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://ip_servidor_mysql:3306/traccar?serverTimezone=UTC&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;maxReconnects=100&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
<entry key='database.user'>usuario_traccar</entry>
<entry key='database.password'>contraseña_base_datos</entry>

Para más detalles sobre los parámetros de configuración de la conexión JDBC, puedes revisar la documentación de referencia de MySQL Connector/J.

Comentarios (0) /hi/traccar/traccar/instalar-traccar-y-poner-configuracion-xml-en-synology-dsm-o-xpenology