feat: Complete ATLAS system installation and API fixes

## Backend Changes
- Add new API endpoints: combustible, pois, mantenimiento, video, configuracion
- Fix vehiculos endpoint to return paginated response with items array
- Add /vehiculos/all endpoint for non-paginated list
- Add /geocercas/all endpoint
- Add /alertas/configuracion GET/PUT endpoints
- Add /viajes/activos and /viajes/iniciar endpoints
- Add /reportes/stats, /reportes/templates, /reportes/preview endpoints
- Add /conductores/all and /conductores/disponibles endpoints
- Update router.py to include all new modules

## Frontend Changes
- Fix authentication token handling (snake_case vs camelCase)
- Update vehiculosApi.listAll to use /vehiculos/all
- Fix FuelGauge component usage in Combustible page
- Fix chart component exports (named + default exports)
- Update API client for proper token refresh

## Infrastructure
- Rename services from ADAN to ATLAS
- Configure Cloudflare tunnel for atlas.consultoria-as.com
- Update systemd service files
- Configure PostgreSQL with TimescaleDB
- Configure Redis, Mosquitto, Traccar, MediaMTX

## Documentation
- Update installation guides
- Update API reference
- Rename all ADAN references to ATLAS

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
ATLAS Admin
2026-01-25 03:04:23 +00:00
parent 0dfce3ce20
commit e59aa2a742
73 changed files with 4415 additions and 450 deletions

View File

@@ -1,16 +1,16 @@
# Guia de Configuracion
Configuracion detallada de todos los componentes del sistema ADAN.
Configuracion detallada de todos los componentes del sistema ATLAS.
## Variables de Entorno
El archivo `/opt/adan/.env` contiene todas las configuraciones del sistema.
El archivo `/opt/atlas/.env` contiene todas las configuraciones del sistema.
### Base de Datos
```bash
# PostgreSQL
DATABASE_URL=postgresql://adan:PASSWORD@localhost:5432/adan_db
DATABASE_URL=postgresql://atlas:PASSWORD@localhost:5432/atlas_db
# Conexiones maximas al pool
DB_POOL_SIZE=10
@@ -60,7 +60,7 @@ MEDIAMTX_WEBRTC=http://localhost:8889
MEDIAMTX_HLS=http://localhost:8888
# Directorio de grabaciones
VIDEO_STORAGE_PATH=/opt/adan/videos
VIDEO_STORAGE_PATH=/opt/atlas/videos
VIDEO_RETENTION_DAYS=30
```
@@ -71,7 +71,7 @@ MQTT_HOST=localhost
MQTT_PORT=1883
MQTT_USER=mesh_gateway
MQTT_PASSWORD=password_seguro
MQTT_TOPIC=adan/mesh/#
MQTT_TOPIC=atlas/mesh/#
```
### Notificaciones
@@ -82,18 +82,18 @@ SMTP_HOST=smtp.tudominio.com
SMTP_PORT=587
SMTP_USER=notificaciones@tudominio.com
SMTP_PASSWORD=password
SMTP_FROM=ADAN <notificaciones@tudominio.com>
SMTP_FROM=ATLAS <notificaciones@tudominio.com>
# Push Notifications (Firebase)
FIREBASE_CREDENTIALS_FILE=/opt/adan/firebase-credentials.json
FIREBASE_CREDENTIALS_FILE=/opt/atlas/firebase-credentials.json
```
### Dominio
```bash
DOMAIN=adan.tudominio.com
API_URL=https://adan.tudominio.com/api
FRONTEND_URL=https://adan.tudominio.com
DOMAIN=atlas.tudominio.com
API_URL=https://atlas.tudominio.com/api
FRONTEND_URL=https://atlas.tudominio.com
```
---
@@ -108,8 +108,8 @@ Archivo: `/opt/traccar/conf/traccar.xml`
<properties>
<!-- Base de datos -->
<entry key='database.driver'>org.postgresql.Driver</entry>
<entry key='database.url'>jdbc:postgresql://localhost:5432/adan_db</entry>
<entry key='database.user'>adan</entry>
<entry key='database.url'>jdbc:postgresql://localhost:5432/atlas_db</entry>
<entry key='database.user'>atlas</entry>
<entry key='database.password'>TU_PASSWORD</entry>
<!-- Deshabilitar web UI de Traccar (usamos nuestro dashboard) -->
@@ -192,7 +192,7 @@ hlsSegmentDuration: 1s
# Grabacion
record: no # Manejamos grabacion desde nuestra API
recordPath: /opt/adan/videos/%path/%Y%m%d_%H%M%S.mp4
recordPath: /opt/atlas/videos/%path/%Y%m%d_%H%M%S.mp4
# Paths (camaras)
paths:
@@ -231,17 +231,17 @@ credentials-file: /root/.cloudflared/TU_TUNNEL_ID.json
ingress:
# API Backend
- hostname: adan.tudominio.com
- hostname: atlas.tudominio.com
path: /api/*
service: http://localhost:8000
# WebSocket
- hostname: adan.tudominio.com
- hostname: atlas.tudominio.com
path: /ws/*
service: http://localhost:8000
# Frontend (default)
- hostname: adan.tudominio.com
- hostname: atlas.tudominio.com
service: http://localhost:3000
# Catch-all
@@ -352,21 +352,21 @@ ufw enable
## Configuracion de Systemd Services
### adan-api.service
### atlas-api.service
```ini
[Unit]
Description=ADAN API Backend
Description=ATLAS API Backend
After=network.target postgresql.service redis.service
[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/opt/adan/backend
Environment="PATH=/opt/adan/venv/bin"
EnvironmentFile=/opt/adan/.env
ExecStart=/opt/adan/venv/bin/uvicorn app.main:app \
WorkingDirectory=/opt/atlas/backend
Environment="PATH=/opt/atlas/venv/bin"
EnvironmentFile=/opt/atlas/.env
ExecStart=/opt/atlas/venv/bin/uvicorn app.main:app \
--host 127.0.0.1 \
--port 8000 \
--workers 4 \
@@ -379,18 +379,18 @@ RestartSec=5
WantedBy=multi-user.target
```
### adan-web.service
### atlas-web.service
```ini
[Unit]
Description=ADAN Web Frontend
Description=ATLAS Web Frontend
After=network.target
[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/opt/adan/frontend
WorkingDirectory=/opt/atlas/frontend
ExecStart=/usr/bin/npx serve -s dist -l 3000
Restart=always
RestartSec=5
@@ -439,11 +439,11 @@ Despues de modificar archivos de configuracion:
systemctl daemon-reload
# Reiniciar servicio especifico
systemctl restart adan-api
systemctl restart atlas-api
# Reiniciar todos los servicios
systemctl restart adan-api adan-web traccar mediamtx
systemctl restart atlas-api atlas-web traccar mediamtx
# Verificar estado
systemctl status adan-api adan-web traccar mediamtx
systemctl status atlas-api atlas-web traccar mediamtx
```