FlotillasGPS - Sistema completo de monitoreo de flotillas GPS
Sistema completo para monitoreo y gestion de flotas de vehiculos con: - Backend FastAPI con PostgreSQL/TimescaleDB - Frontend React con TypeScript y TailwindCSS - App movil React Native con Expo - Soporte para dispositivos GPS, Meshtastic y celulares - Video streaming en vivo con MediaMTX - Geocercas, alertas, viajes y reportes - Autenticacion JWT y WebSockets en tiempo real Documentacion completa y guias de usuario incluidas.
This commit is contained in:
200
deploy/traccar/traccar.xml
Normal file
200
deploy/traccar/traccar.xml
Normal file
@@ -0,0 +1,200 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
|
||||
<!--
|
||||
============================================
|
||||
Traccar Server - Configuracion para Sistema de Flotillas
|
||||
============================================
|
||||
Documentacion: https://www.traccar.org/configuration-file/
|
||||
|
||||
Esta configuracion:
|
||||
- Usa PostgreSQL como base de datos
|
||||
- Forward de posiciones a API del sistema
|
||||
- Deshabilita interfaz web (usamos nuestra propia UI)
|
||||
- Solo habilita protocolos GPS comunes
|
||||
============================================
|
||||
-->
|
||||
|
||||
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
|
||||
|
||||
<properties>
|
||||
|
||||
<!-- ========================================
|
||||
Configuracion General
|
||||
======================================== -->
|
||||
|
||||
<!-- Modo de operacion -->
|
||||
<entry key='config.default'>./conf/default.xml</entry>
|
||||
|
||||
<!-- Logging -->
|
||||
<entry key='logger.enable'>true</entry>
|
||||
<entry key='logger.level'>info</entry>
|
||||
<entry key='logger.file'>/opt/traccar/logs/tracker-server.log</entry>
|
||||
<entry key='logger.rotate'>true</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Base de Datos PostgreSQL
|
||||
======================================== -->
|
||||
|
||||
<entry key='database.driver'>org.postgresql.Driver</entry>
|
||||
<entry key='database.url'>jdbc:postgresql://localhost:5432/traccar</entry>
|
||||
<entry key='database.user'>flotillas</entry>
|
||||
<entry key='database.password'>POSTGRES_PASSWORD</entry>
|
||||
|
||||
<!-- Pool de conexiones -->
|
||||
<entry key='database.checkConnection'>true</entry>
|
||||
<entry key='database.maxPoolSize'>10</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Interfaz Web (DESHABILITADA)
|
||||
======================================== -->
|
||||
|
||||
<!-- No usamos la web UI de Traccar, usamos nuestra propia -->
|
||||
<entry key='web.enable'>false</entry>
|
||||
<!-- Si necesitas habilitarla temporalmente para debug: -->
|
||||
<!-- <entry key='web.enable'>true</entry> -->
|
||||
<!-- <entry key='web.port'>8082</entry> -->
|
||||
|
||||
<!-- ========================================
|
||||
Forward de Posiciones a API
|
||||
======================================== -->
|
||||
|
||||
<!-- Enviar cada posicion a nuestro backend -->
|
||||
<entry key='forward.enable'>true</entry>
|
||||
<entry key='forward.url'>http://localhost:8000/api/v1/traccar/position</entry>
|
||||
<entry key='forward.json'>true</entry>
|
||||
|
||||
<!-- Headers adicionales (si se necesita auth) -->
|
||||
<!-- <entry key='forward.header.Authorization'>Bearer TOKEN</entry> -->
|
||||
|
||||
<!-- Reintentos en caso de fallo -->
|
||||
<entry key='forward.retryEnable'>true</entry>
|
||||
<entry key='forward.retryDelay'>60</entry>
|
||||
<entry key='forward.retryCount'>3</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Protocolos GPS Habilitados
|
||||
======================================== -->
|
||||
|
||||
<!-- Puerto principal - Protocolo Osmand (Android/iOS apps) -->
|
||||
<entry key='osmand.port'>5055</entry>
|
||||
|
||||
<!-- GT06 - Dispositivos chinos comunes -->
|
||||
<entry key='gt06.port'>5023</entry>
|
||||
|
||||
<!-- H02 - Coban y similares -->
|
||||
<entry key='h02.port'>5013</entry>
|
||||
|
||||
<!-- TK103 - Muy comun -->
|
||||
<entry key='tk103.port'>5002</entry>
|
||||
|
||||
<!-- GPS103 -->
|
||||
<entry key='gps103.port'>5001</entry>
|
||||
|
||||
<!-- Teltonika - Profesionales -->
|
||||
<entry key='teltonika.port'>5027</entry>
|
||||
|
||||
<!-- Queclink -->
|
||||
<entry key='queclink.port'>5050</entry>
|
||||
|
||||
<!-- Meitrack -->
|
||||
<entry key='meitrack.port'>5020</entry>
|
||||
|
||||
<!-- Ruptela -->
|
||||
<entry key='ruptela.port'>5046</entry>
|
||||
|
||||
<!-- Suntech -->
|
||||
<entry key='suntech.port'>5011</entry>
|
||||
|
||||
<!-- Watch (smartwatches GPS) -->
|
||||
<entry key='watch.port'>5093</entry>
|
||||
|
||||
<!-- T55 -->
|
||||
<entry key='t55.port'>5005</entry>
|
||||
|
||||
<!-- Xexun -->
|
||||
<entry key='xexun.port'>5006</entry>
|
||||
|
||||
<!-- TotemAT -->
|
||||
<entry key='totem.port'>5007</entry>
|
||||
|
||||
<!-- Enfora -->
|
||||
<entry key='enfora.port'>5008</entry>
|
||||
|
||||
<!-- Meiligao -->
|
||||
<entry key='meiligao.port'>5009</entry>
|
||||
|
||||
<!-- Protocolo Traccar (app oficial) -->
|
||||
<entry key='traccar.port'>5190</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Procesamiento de Eventos
|
||||
======================================== -->
|
||||
|
||||
<!-- Eventos a procesar -->
|
||||
<entry key='event.enable'>true</entry>
|
||||
<entry key='event.ignoreDuplicateAlerts'>true</entry>
|
||||
|
||||
<!-- Geocodificacion (obtener direcciones) -->
|
||||
<entry key='geocoder.enable'>true</entry>
|
||||
<entry key='geocoder.type'>nominatim</entry>
|
||||
<entry key='geocoder.url'>https://nominatim.openstreetmap.org/reverse</entry>
|
||||
<entry key='geocoder.key'></entry>
|
||||
<entry key='geocoder.processInvalidPositions'>false</entry>
|
||||
<entry key='geocoder.reuseDistance'>50</entry>
|
||||
|
||||
<!-- Alternativamente usar Google (requiere API key) -->
|
||||
<!-- <entry key='geocoder.type'>google</entry> -->
|
||||
<!-- <entry key='geocoder.key'>TU_API_KEY</entry> -->
|
||||
|
||||
<!-- ========================================
|
||||
Filtros de Posicion
|
||||
======================================== -->
|
||||
|
||||
<!-- Filtrar posiciones invalidas -->
|
||||
<entry key='filter.enable'>true</entry>
|
||||
<entry key='filter.invalid'>true</entry>
|
||||
<entry key='filter.zero'>true</entry>
|
||||
<entry key='filter.duplicate'>true</entry>
|
||||
|
||||
<!-- Filtrar por velocidad maxima (km/h) -->
|
||||
<entry key='filter.maxSpeed'>500</entry>
|
||||
|
||||
<!-- Distancia minima entre posiciones (metros) -->
|
||||
<entry key='filter.distance'>10</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Notificaciones
|
||||
======================================== -->
|
||||
|
||||
<!-- Las notificaciones las maneja nuestro backend -->
|
||||
<entry key='notificator.enable'>false</entry>
|
||||
|
||||
<!-- ========================================
|
||||
API REST de Traccar (DESHABILITADA)
|
||||
======================================== -->
|
||||
|
||||
<!-- No exponemos API de Traccar, usamos nuestra propia -->
|
||||
<entry key='api.enable'>false</entry>
|
||||
|
||||
<!-- ========================================
|
||||
Seguridad
|
||||
======================================== -->
|
||||
|
||||
<!-- Registro de nuevos dispositivos -->
|
||||
<entry key='database.registerUnknown'>true</entry>
|
||||
|
||||
<!-- Dispositivos deben existir antes de enviar datos -->
|
||||
<!-- <entry key='database.registerUnknown'>false</entry> -->
|
||||
|
||||
<!-- ========================================
|
||||
Rendimiento
|
||||
======================================== -->
|
||||
|
||||
<!-- Threads para procesamiento -->
|
||||
<entry key='processing.computedAttributes.enabled'>true</entry>
|
||||
<entry key='processing.computedAttributes.threads'>4</entry>
|
||||
|
||||
<!-- Cache -->
|
||||
<entry key='database.positionsHistoryDays'>30</entry>
|
||||
|
||||
</properties>
|
||||
Reference in New Issue
Block a user