कोर्स सामग्री
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
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.
- Abre Docker / Container Manager en tu Synology.
- Ve a la pestaña Registro y busca
traccaren la barra superior. - Descarga la imagen traccar/traccar con la etiqueta
latest. - En Imagen, selecciona la imagen descargada de Traccar e inicia el asistente.
- En la configuración de red, selecciona Usar la misma red que Docker Host (modo host).
- 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
- En Docker / Container Manager, descarga la imagen traccar/traccar:latest.
- En la pestaña Imagen, selecciona Traccar y pulsa Iniciar.
- En la configuración de red, marca Usar la misma red que Docker Host y pulsa Siguiente.
- 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).
- Nombre del contenedor:
- 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.
- Haz clic en Agregar carpeta y selecciona
- 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
- Edita los parámetros del contenedor
traccarbiendetenido. - Ve a Configuración de volúmenes.
- Borra el mapeo temporal anterior y agrega la carpeta compartida definitiva:
- Carpeta local:
docker/traccar - Ruta de montaje interna:
/opt/traccar/
- Carpeta local:
- 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:
databasesconflogs
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&useSSL=false&allowMultiQueries=true&autoReconnect=true&maxReconnects=100&useUnicode=yes&characterEncoding=UTF-8&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.