feat: integrar servicio siax-app-DROP_SIGMAC_APP para SIAX Monitor y actualizar docs de infra

This commit is contained in:
2026-10-14 20:11:07 -05:00
parent 847f0cad7c
commit 7b7b45e767
8 changed files with 42 additions and 11 deletions
+3 -3
View File
@@ -144,7 +144,7 @@ cada proyecto debera implementar un algoritomo de control de versiones de las ac
| **app_fidelizacion** | [pendiente — crear repo en git.telcotronics.net] | Node.js (Express) + MySQL + EJS | pablinux | 🟡 En desarrollo activo | Plataforma de lealtad, escáner QR y canjes. Gestión de clientes y transacciones de partners. Puerto 2001. BD: MySQL `nexo_fd` en 192.168.10.149. | | **app_fidelizacion** | [pendiente — crear repo en git.telcotronics.net] | Node.js (Express) + MySQL + EJS | pablinux | 🟡 En desarrollo activo | Plataforma de lealtad, escáner QR y canjes. Gestión de clientes y transacciones de partners. Puerto 2001. BD: MySQL `nexo_fd` en 192.168.10.149. |
| **api_service_ia** | `git@github.com:telcotronics/API_Service_IA.git` | Python 3.14 + FastAPI + uvicorn | pablinux | 🟡 En desarrollo activo | API REST de modelos de IA preentrenados (OCR, STT, TTS, visión facial, PDF). Único proyecto Python serio del ecosistema. Puerto 8000. BD: MariaDB `api_ia_python` en .149. | | **api_service_ia** | `git@github.com:telcotronics/API_Service_IA.git` | Python 3.14 + FastAPI + uvicorn | pablinux | 🟡 En desarrollo activo | API REST de modelos de IA preentrenados (OCR, STT, TTS, visión facial, PDF). Único proyecto Python serio del ecosistema. Puerto 8000. BD: MariaDB `api_ia_python` en .149. |
| **API_CENTINEL_SECURITY** | `https://git.telcotronics.net/pablinux/API-CENTINEL-SECURITY.git` | Java 17 + Spring Boot 3.3 + WebClient | pablinux | ✅ Activo | API de Gestión de Seguridad Electrónica — control de acceso físico, biometría, apertura remota de puertas, sincronización de credenciales y eventos en tiempo real. Punto único de integración para cualquier app que gestione seguridad física en el ecosistema. | | **API_CENTINEL_SECURITY** | `https://git.telcotronics.net/pablinux/API-CENTINEL-SECURITY.git` | Java 17 + Spring Boot 3.3 + WebClient | pablinux | ✅ Activo | API de Gestión de Seguridad Electrónica — control de acceso físico, biometría, apertura remota de puertas, sincronización de credenciales y eventos en tiempo real. Punto único de integración para cualquier app que gestione seguridad física en el ecosistema. |
| **audio_control** | `https://git.telcotronics.net/pablinux/audio_control.git` | Node.js (Express 4) + MariaDB + DLNA/UPnP + ffplay | pablinux | ✅ Activo / Producción | Backend SoundWave — control remoto de reproducción de audio, descarga YouTube, playlist MySQL, renderer DLNA y auth Google OAuth. Puerto 4005 en CT 132 (`192.168.10.160`). Dominio: `audiocontrol.sigmac.app`. Servicio systemd: `siax-app-AUDIO_CONTROL`. MCP ID: 15. | | **audio_control** | `https://git.telcotronics.net/pablinux/audio_control.git` | Node.js (Express 4) + MariaDB + DLNA/UPnP + ffplay | pablinux | ✅ Activo / Producción | Backend SoundWave — control remoto de reproducción de audio, descarga YouTube, playlist MySQL, renderer DLNA y auth Google OAuth. Puerto 4005 en CT 132 (`192.168.10.160`). Dominio: `musica.sigmac.app`. Servicio systemd: `siax-app-AUDIO_CONTROL`. MCP ID: 15. |
| **SoundWave** | `https://git.telcotronics.net/pablinux/audio-player.git` | Vue 3 + Vite 7 (PWA) / Node.js (Express) + MongoDB | pablinux | 🟢 Activo en producción | Reproductor de música personal PWA. Desplegado en server-webaps (.160) puerto 2005. Auth Google OAuth, streaming con Range requests, descargador YouTube MP3 (yt-dlp) y monitoreado en SIAX Monitor. | | **SoundWave** | `https://git.telcotronics.net/pablinux/audio-player.git` | Vue 3 + Vite 7 (PWA) / Node.js (Express) + MongoDB | pablinux | 🟢 Activo en producción | Reproductor de música personal PWA. Desplegado en server-webaps (.160) puerto 2005. Auth Google OAuth, streaming con Range requests, descargador YouTube MP3 (yt-dlp) y monitoreado en SIAX Monitor. |
| **app_sigma_inventario** (Control Inventario) | [pendiente — git.telcotronics.net] | Flutter (Android / Linux Desktop) / Dart | pablinux | 🟡 En desarrollo activo | App móvil para supervisores y bodegueros: conciliación física de stock, traslados con código de barras y recepción OCR externa. | | **app_sigma_inventario** (Control Inventario) | [pendiente — git.telcotronics.net] | Flutter (Android / Linux Desktop) / Dart | pablinux | 🟡 En desarrollo activo | App móvil para supervisores y bodegueros: conciliación física de stock, traslados con código de barras y recepción OCR externa. |
| **agente_ventas** | [sin repositorio — local] | Flutter 2.11 / Dart 2.17-beta + SQLite | pablinux | 🟡 En desarrollo activo — integrando API real | App "Agente Ventas SIGMAC" — gestión de rutas y pedidos de campo para vendedores de Telcotronics. Ruta del día, catálogo, pedidos, firma digital, scanner QR/barcode, notificaciones in-app. Auth vía API-SIGMA-WEBCONTROL · datos vía API-SIGMA-CLOUD (BD `TELCOTRONICS`). | | **agente_ventas** | [sin repositorio — local] | Flutter 2.11 / Dart 2.17-beta + SQLite | pablinux | 🟡 En desarrollo activo — integrando API real | App "Agente Ventas SIGMAC" — gestión de rutas y pedidos de campo para vendedores de Telcotronics. Ruta del día, catálogo, pedidos, firma digital, scanner QR/barcode, notificaciones in-app. Auth vía API-SIGMA-WEBCONTROL · datos vía API-SIGMA-CLOUD (BD `TELCOTRONICS`). |
@@ -1343,7 +1343,7 @@ Aplicación web en Go para transferencia inmediata de archivos, fotos, documento
| Servidor de producción | `server-webapps` CT 132 (`192.168.10.160`) — pendiente deploy | | Servidor de producción | `server-webapps` CT 132 (`192.168.10.160`) — pendiente deploy |
| Dominio público | `drop.sigmac.app` | | Dominio público | `drop.sigmac.app` |
| Puerto | `2006` | | Puerto | `2006` |
| Servicio systemd | `app-compartir.service` | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) |
**Bases de Datos:** **Bases de Datos:**
* **SQLite** (`data/compartir.db` local en modo WAL): Almacena metadatos de archivos compartidos (`shares`), usuarios vinculados (`users`) y tokens de sesión (`sessions`). * **SQLite** (`data/compartir.db` local en modo WAL): Almacena metadatos de archivos compartidos (`shares`), usuarios vinculados (`users`) y tokens de sesión (`sessions`).
@@ -1456,7 +1456,7 @@ Backend de la app **SoundWave**. Permite controlar la reproducción de audio de
| Estado actual | ✅ Activo / Desplegado en producción | | Estado actual | ✅ Activo / Desplegado en producción |
| Equipo / ubicación local | `siax-amd` (`192.168.10.100`) — `/home/pablinux/Projects/Node/audio_control` | | Equipo / ubicación local | `siax-amd` (`192.168.10.100`) — `/home/pablinux/Projects/Node/audio_control` |
| Servidor de producción | `server-webaps` CT 132 (`192.168.10.160`) — `/home/user_apps/apps/audio_control` | | Servidor de producción | `server-webaps` CT 132 (`192.168.10.160`) — `/home/user_apps/apps/audio_control` |
| Dominio público | `audiocontrol.sigmac.app` (vhost activo en .160; enrutamiento WAN sujeto a proxy en .109 / NAT) | | Dominio público | `musica.sigmac.app` (vhost activo en .160; enrutamiento WAN sujeto a proxy en .109 / NAT) |
| Puerto | `4005` (dev: `4000`) | | Puerto | `4005` (dev: `4000`) |
| Servicio systemd | `siax-app-AUDIO_CONTROL.service` (activo) | | Servicio systemd | `siax-app-AUDIO_CONTROL.service` (activo) |
| Registro MCP | Servicio ID `15` en `http://192.168.10.160:3006` | | Registro MCP | Servicio ID `15` en `http://192.168.10.160:3006` |
+1
View File
@@ -36,3 +36,4 @@
| 2026-10-13 | Sesión Guest con auto-eliminación obligatoria en 24h (física y BD) | Worker periódico de purga en segundo plano verificado con tests | | 2026-10-13 | Sesión Guest con auto-eliminación obligatoria en 24h (física y BD) | Worker periódico de purga en segundo plano verificado con tests |
| 2026-10-13 | Cuentas registradas (Google y WebControl) con almacenamiento permanente | Cuentas no-guest exentas de borrado a las 24h | | 2026-10-13 | Cuentas registradas (Google y WebControl) con almacenamiento permanente | Cuentas no-guest exentas de borrado a las 24h |
| 2026-10-13 | Panel / lista de "Mis Archivos" para usuarios registrados con opción de borrado | Interfaz `/mis-archivos` con métricas de visitas y eliminación | | 2026-10-13 | Panel / lista de "Mis Archivos" para usuarios registrados con opción de borrado | Interfaz `/mis-archivos` con métricas de visitas y eliminación |
| 2026-10-14 | Scripts de despliegue estándar (`desplegar.sh`, `init.sh`) y servicio para SIAX Monitor | Compilación Go estática, scp, servers.conf y systemd |
+1
View File
@@ -44,6 +44,7 @@ app_compartir/
├── desplegar.sh # Script de compilación y despliegue (máquina dev) ├── desplegar.sh # Script de compilación y despliegue (máquina dev)
├── init.sh # Script ejecutor local en el servidor ├── init.sh # Script ejecutor local en el servidor
├── servers.conf.example # Plantilla de credenciales SSH para despliegue ├── servers.conf.example # Plantilla de credenciales SSH para despliegue
├── siax-app-DROP_SIGMAC_APP.service # Definición de servicio systemd para SIAX Monitor
├── go.mod ├── go.mod
├── go.sum ├── go.sum
├── main.go # Punto de entrada y servidor HTTP Go ├── main.go # Punto de entrada y servidor HTTP Go
+3
View File
@@ -40,6 +40,9 @@ Versión funcional completa y validada:
- [x] Implementar auth con WebControl (`api.siax-system.net`) y Google OAuth2 - [x] Implementar auth con WebControl (`api.siax-system.net`) y Google OAuth2
- [x] Implementar panel "Mis Archivos" para usuarios autenticados - [x] Implementar panel "Mis Archivos" para usuarios autenticados
- [x] Sincronizar sección de infraestructura en global e internal para MCP - [x] Sincronizar sección de infraestructura en global e internal para MCP
- [x] Crear scripts de despliegue estándar (`desplegar.sh`, `init.sh`, `servers.conf.example`)
- [x] Integrar servicio systemd para SIAX Monitor (`siax-app-DROP_SIGMAC_APP.service`)
- [x] Soporte para proxy reverso dinámico Apache (`X-Forwarded-Proto`, `Host`) en puerto 2006
--- ---
+1 -1
View File
@@ -75,7 +75,7 @@ Goroutine periódica (ticker) que consulta items donde `is_guest = true AND expi
|---|---| |---|---|
| Dominio público | `drop.sigmac.app` | | Dominio público | `drop.sigmac.app` |
| Puerto interno | `2006` (producción) / `8085` (local) | | Puerto interno | `2006` (producción) / `8085` (local) |
| Servicio systemd | `app-compartir.service` | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) |
| BD principal | SQLite local (`data/compartir.db`) | | BD principal | SQLite local (`data/compartir.db`) |
| MCP ecosistema | `mcp.telcotronics.net` 🔧 en mantenimiento | | MCP ecosistema | `mcp.telcotronics.net` 🔧 en mantenimiento |
+5 -2
View File
@@ -64,7 +64,7 @@ subir() {
echo "" echo ""
echo "🚀 Subiendo binario, plantillas y scripts al servidor..." echo "🚀 Subiendo binario, plantillas y scripts al servidor..."
copy "$SCRIPT_DIR/app_compartir" "$SCRIPT_DIR/init.sh" "$SCRIPT_DIR/.env.example" "$SERVIDOR:$REMOTE_DIR/" copy "$SCRIPT_DIR/app_compartir" "$SCRIPT_DIR/init.sh" "$SCRIPT_DIR/.env.example" "$SCRIPT_DIR/siax-app-DROP_SIGMAC_APP.service" "$SERVIDOR:$REMOTE_DIR/"
copy "$SCRIPT_DIR/web/templates/"*.html "$SERVIDOR:$REMOTE_DIR/web/templates/" copy "$SCRIPT_DIR/web/templates/"*.html "$SERVIDOR:$REMOTE_DIR/web/templates/"
remote "chmod 0755 '$REMOTE_DIR/app_compartir' '$REMOTE_DIR/init.sh'" remote "chmod 0755 '$REMOTE_DIR/app_compartir' '$REMOTE_DIR/init.sh'"
echo "✅ Archivos sincronizados en $REMOTE_DIR" echo "✅ Archivos sincronizados en $REMOTE_DIR"
@@ -94,7 +94,10 @@ estado() {
echo "" echo ""
echo "📊 Estado del servidor en $SERVIDOR:" echo "📊 Estado del servidor en $SERVIDOR:"
remote " remote "
if tmux has-session -t drop-sigmac-app 2>/dev/null; then if systemctl is-active --quiet siax-app-DROP_SIGMAC_APP.service 2>/dev/null; then
echo '==> Servicio systemd siax-app-DROP_SIGMAC_APP (SIAX Monitor) activo:'
systemctl status siax-app-DROP_SIGMAC_APP.service --no-pager
elif tmux has-session -t drop-sigmac-app 2>/dev/null; then
echo '==> Sesión tmux drop-sigmac-app activa:' echo '==> Sesión tmux drop-sigmac-app activa:'
tmux capture-pane -pt drop-sigmac-app | tail -n 25 tmux capture-pane -pt drop-sigmac-app | tail -n 25
elif systemctl is-active --quiet drop-sigmac-app.service 2>/dev/null; then elif systemctl is-active --quiet drop-sigmac-app.service 2>/dev/null; then
+12 -5
View File
@@ -27,11 +27,18 @@ mkdir -p "$SCRIPT_DIR/data/uploads"
# 3. Permisos de ejecución al binario # 3. Permisos de ejecución al binario
chmod +x "$SCRIPT_DIR/app_compartir" chmod +x "$SCRIPT_DIR/app_compartir"
# 4. Modo de arranque: Si existe servicio systemd, usarlo; de lo contrario, sesión tmux # 4. Modo de arranque: Si existe servicio systemd de SIAX Monitor o estándar, usarlo; de lo contrario, tmux
if systemctl is-active --quiet drop-sigmac-app.service 2>/dev/null || [ -f /etc/systemd/system/drop-sigmac-app.service ]; then SERVICE_NAME=""
echo "==> Reiniciando servicio systemd 'drop-sigmac-app.service'..." if systemctl is-active --quiet siax-app-DROP_SIGMAC_APP.service 2>/dev/null || [ -f /etc/systemd/system/siax-app-DROP_SIGMAC_APP.service ]; then
sudo systemctl restart drop-sigmac-app.service SERVICE_NAME="siax-app-DROP_SIGMAC_APP.service"
sudo systemctl status drop-sigmac-app.service --no-pager elif systemctl is-active --quiet drop-sigmac-app.service 2>/dev/null || [ -f /etc/systemd/system/drop-sigmac-app.service ]; then
SERVICE_NAME="drop-sigmac-app.service"
fi
if [[ -n "$SERVICE_NAME" ]]; then
echo "==> Reiniciando servicio systemd '$SERVICE_NAME' (SIAX Monitor)..."
sudo systemctl restart "$SERVICE_NAME"
sudo systemctl status "$SERVICE_NAME" --no-pager
exit 0 exit 0
fi fi
+16
View File
@@ -0,0 +1,16 @@
[Unit]
Description=SIAX App: drop.sigmac.app (Plataforma de Transferencia y Visor Rápido de Archivos)
After=network.target
[Service]
Type=simple
User=user_apps
WorkingDirectory=/home/user_apps/apps/drop_sigmac_app
ExecStart=/home/user_apps/apps/drop_sigmac_app/app_compartir
EnvironmentFile=/home/user_apps/apps/drop_sigmac_app/.env
Restart=always
RestartSec=5s
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target