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:
FlotillasGPS Developer
2026-01-21 08:18:00 +00:00
commit 51d78bacf4
248 changed files with 50171 additions and 0 deletions

133
deploy/scripts/logs.sh Normal file
View File

@@ -0,0 +1,133 @@
#!/bin/bash
# ============================================
# Sistema de Flotillas - Visor de Logs
# ============================================
# Muestra logs de los diferentes servicios
#
# Uso: ./logs.sh [servicio] [--follow] [--lines N]
#
# Servicios: api, web, traccar, mediamtx, postgres, redis, all
# ============================================
# Variables
LINES="${LINES:-100}"
FOLLOW=false
SERVICE="api"
# Colores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# ---------------------------------------------
# Parsear argumentos
# ---------------------------------------------
while [[ $# -gt 0 ]]; do
case $1 in
api|web|traccar|mediamtx|postgres|redis|mosquitto|all)
SERVICE="$1"
shift
;;
-f|--follow)
FOLLOW=true
shift
;;
-n|--lines)
LINES="$2"
shift 2
;;
--help|-h)
echo "Sistema de Flotillas - Visor de Logs"
echo ""
echo "Uso: $0 [servicio] [opciones]"
echo ""
echo "Servicios:"
echo " api - Backend FastAPI"
echo " web - Frontend"
echo " traccar - Traccar GPS"
echo " mediamtx - Video streaming"
echo " postgres - Base de datos"
echo " redis - Cache"
echo " mosquitto - MQTT"
echo " all - Todos los servicios"
echo ""
echo "Opciones:"
echo " -f, --follow Seguir logs en tiempo real"
echo " -n, --lines N Numero de lineas (default: 100)"
echo ""
echo "Ejemplos:"
echo " $0 api -f # Seguir logs de API"
echo " $0 traccar -n 500 # Ultimas 500 lineas de Traccar"
echo " $0 all -f # Todos los logs en tiempo real"
exit 0
;;
*)
echo "Opcion desconocida: $1"
exit 1
;;
esac
done
# ---------------------------------------------
# Mostrar logs
# ---------------------------------------------
show_logs() {
local unit="$1"
local name="$2"
echo -e "${BLUE}=== Logs de $name ===${NC}"
local cmd="journalctl -u $unit -n $LINES --no-pager"
if [[ "$FOLLOW" == "true" ]]; then
cmd="journalctl -u $unit -f"
fi
$cmd 2>/dev/null || echo "Servicio no disponible o sin logs"
echo ""
}
case $SERVICE in
api)
show_logs "flotillas-api" "API Backend"
;;
web)
show_logs "flotillas-web" "Frontend"
;;
traccar)
show_logs "traccar" "Traccar GPS"
# Tambien mostrar log de archivo si existe
if [[ -f "/opt/traccar/logs/tracker-server.log" ]]; then
echo -e "${BLUE}=== Log de archivo Traccar ===${NC}"
tail -n $LINES /opt/traccar/logs/tracker-server.log
fi
;;
mediamtx)
show_logs "mediamtx" "MediaMTX"
;;
postgres)
show_logs "postgresql" "PostgreSQL"
;;
redis)
show_logs "redis-server" "Redis"
;;
mosquitto)
show_logs "mosquitto" "Mosquitto MQTT"
;;
all)
if [[ "$FOLLOW" == "true" ]]; then
echo "Mostrando todos los logs en tiempo real..."
echo "Presiona Ctrl+C para salir"
echo ""
journalctl -u flotillas-api -u flotillas-web -u traccar -u mediamtx -u mosquitto -f
else
show_logs "flotillas-api" "API Backend"
show_logs "flotillas-web" "Frontend"
show_logs "traccar" "Traccar GPS"
show_logs "mediamtx" "MediaMTX"
show_logs "mosquitto" "Mosquitto MQTT"
fi
;;
esac