Añadido: - MANUAL_USUARIO_ARCHITECT.md - MANUAL_USUARIO_CORP.md - MANUAL_USUARIO_DECK.md - MANUAL_USUARIO_HST.md - 07_OPERACION/ (monitoring, runbooks, incident_response) - glosario_she_enterprise_v3.md Eliminado: - glosario_she_enterprise_v2.md (reemplazado por v3) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1397 lines
29 KiB
Markdown
1397 lines
29 KiB
Markdown
# MANUAL DE USUARIO - CORP
|
|
## Sistema TZZR - Skynet v8
|
|
**Servidor:** 92.112.181.188
|
|
**Fecha:** 2025-12-30
|
|
|
|
---
|
|
|
|
# Manual de Usuario CORP - Parte 1: Introducción y Aplicaciones
|
|
|
|
## 1. Introducción a CORP
|
|
|
|
### ¿Qué es CORP en el sistema TTZR?
|
|
|
|
CORP (Corporate Services Server) es el servidor de servicios empresariales del sistema TTZR. Forma parte de la infraestructura distribuida del sistema central TTZR (69.62.126.110) y proporciona soluciones integradas para gestión empresarial, contenidos y operaciones.
|
|
|
|
**Información del Servidor:**
|
|
- **IP**: 92.112.181.188
|
|
- **Rol en TTZR**: Servicios empresariales y gestión de contenidos
|
|
- **Ubicación en infraestructura**: Servidor remoto accesible desde servidor central
|
|
- **Estado**: Operativo en sistema TTZR
|
|
|
|
### Acceso SSH a CORP
|
|
|
|
Para acceder al servidor CORP desde el servidor central TTZR o cualquier máquina autorizada:
|
|
|
|
```bash
|
|
ssh -i ~/.ssh/tzzr root@92.112.181.188
|
|
```
|
|
|
|
**Requisitos:**
|
|
- Tener la clave privada SSH en `~/.ssh/tzzr`
|
|
- Estar autorizado en el sistema TTZR
|
|
- Conexión de red hacia 92.112.181.188
|
|
|
|
**Ejemplo de uso:**
|
|
```bash
|
|
# Conexión básica
|
|
ssh -i ~/.ssh/tzzr root@92.112.181.188
|
|
|
|
# Ejecutar comando remoto
|
|
ssh -i ~/.ssh/tzzr root@92.112.181.188 "systemctl status"
|
|
|
|
# Transferencia de archivos
|
|
scp -i ~/.ssh/tzzr archivo.txt root@92.112.181.188:/home/
|
|
```
|
|
|
|
### Servicios Disponibles en CORP
|
|
|
|
CORP aloja los siguientes servicios principales:
|
|
|
|
| Servicio | Puerto | Descripción | Estado |
|
|
|----------|--------|-------------|--------|
|
|
| Odoo 17 | 8069 | ERP - Gestión empresarial integral | Activo |
|
|
| Directus 11 | 8055 | CMS - Gestión de contenidos | Activo |
|
|
| PostgreSQL | 5432 | Base de datos relacional | Activo |
|
|
| SSH | 22 | Acceso remoto administrativo | Activo |
|
|
|
|
---
|
|
|
|
## 2. Odoo 17 (ERP)
|
|
|
|
### Acceso a Odoo 17
|
|
|
|
**URL:** `http://92.112.181.188:8069`
|
|
|
|
Abrir en navegador web para acceder a la interfaz de gestión empresarial.
|
|
|
|
### ¿Qué es Odoo 17?
|
|
|
|
Odoo es un suite empresarial completo (ERP - Enterprise Resource Planning) que integra todos los procesos de negocio en una plataforma unificada. Odoo 17 es la última versión estable con mejoras significativas en rendimiento, interfaz de usuario y capacidades de integración.
|
|
|
|
**Características principales:**
|
|
- Gestión integrada de múltiples módulos empresariales
|
|
- Interfaz web moderna y responsive
|
|
- API REST para integraciones
|
|
- Sistema de permisos y roles granular
|
|
- Reportes y análisis avanzados
|
|
|
|
### Módulos Disponibles en CORP
|
|
|
|
Odoo 17 en CORP incluye los siguientes módulos principales:
|
|
|
|
#### Módulos de Negocio
|
|
- **Ventas** (Sales) - Gestión de oportunidades, presupuestos y pedidos
|
|
- **Compras** (Purchases) - Gestión de compras y proveedores
|
|
- **Inventario** (Inventory) - Control de stock y almacenes
|
|
- **Facturación** (Invoicing) - Facturas de venta y compra
|
|
- **Contabilidad** (Accounting) - Contabilidad general y fiscal
|
|
- **CRM** (Customer Relationship Management) - Gestión de clientes y relaciones
|
|
|
|
#### Módulos de Recursos
|
|
- **Recursos Humanos** (HR) - Gestión de empleados y nóminas
|
|
- **Proyectos** (Projects) - Gestión de proyectos y tareas
|
|
- **Servicios** (Services) - Gestión de servicios y SLA
|
|
|
|
#### Módulos de Análisis
|
|
- **Business Intelligence** - Reportes y cuadros de mando
|
|
- **Analítica** - Seguimiento de actividades y análisis
|
|
|
|
### Configuración Básica de Odoo 17
|
|
|
|
#### Acceso por Primera Vez
|
|
1. Abrir `http://92.112.181.188:8069`
|
|
2. Credenciales por defecto o las configuradas en la instalación
|
|
3. Cambiar contraseña en el perfil de usuario
|
|
|
|
#### Configuración Inicial Recomendada
|
|
|
|
**1. Empresas y Ubicaciones**
|
|
```
|
|
Configuración > Empresas
|
|
- Crear/editar empresa principal
|
|
- Definir moneda y país
|
|
- Configurar información fiscal
|
|
```
|
|
|
|
**2. Usuarios y Permisos**
|
|
```
|
|
Configuración > Usuarios y Acceso
|
|
- Crear usuarios por departamento
|
|
- Asignar roles (Gerente de Ventas, Contador, etc.)
|
|
- Configurar permisos específicos por módulo
|
|
```
|
|
|
|
**3. Plan Contable**
|
|
```
|
|
Contabilidad > Configuración > Plan Contable
|
|
- Adaptar al país/jurisdicción
|
|
- Configurar cuentas personalizadas
|
|
```
|
|
|
|
**4. Almacenes**
|
|
```
|
|
Inventario > Configuración > Almacenes
|
|
- Definir ubicaciones físicas
|
|
- Configurar rutas de envío
|
|
```
|
|
|
|
**5. Socios Comerciales**
|
|
```
|
|
CRM > Clientes o Compras > Proveedores
|
|
- Importar base de datos existente
|
|
- Configurar categorías y grupos
|
|
```
|
|
|
|
#### Operaciones Diarias
|
|
- **Crear presupuestos/pedidos**: Sales > Quotations/Orders
|
|
- **Registrar compras**: Purchases > Purchase Orders
|
|
- **Gestionar inventario**: Inventory > Products/Stock
|
|
- **Emitir facturas**: Invoicing > Customer/Vendor Invoices
|
|
- **Registros contables**: Accounting > Journal Entries
|
|
|
|
---
|
|
|
|
## 3. Directus 11 (CMS)
|
|
|
|
### Acceso a Directus 11
|
|
|
|
**URL:** `http://92.112.181.188:8055`
|
|
|
|
Interfaz web para gestión de contenidos y datos.
|
|
|
|
### ¿Qué es Directus 11?
|
|
|
|
Directus es un CMS (Content Management System) y gestor de datos headless moderno. Permite gestionar contenidos, bases de datos y medios sin estar atado a una presentación específica. Directus 11 es la versión más reciente con arquitectura mejorada y mejor rendimiento.
|
|
|
|
**Características principales:**
|
|
- Gestión visual de bases de datos sin necesidad de SQL
|
|
- CMS flexible para cualquier tipo de contenido
|
|
- APIs REST y GraphQL automáticas
|
|
- Versionado y auditoría de cambios
|
|
- Gestión de acceso granular
|
|
- Sistema de flujos de trabajo (workflows)
|
|
|
|
### Gestión de Contenidos
|
|
|
|
#### Estructura de Datos
|
|
En Directus, los contenidos se organizan en **Colecciones**:
|
|
|
|
**Colecciones Comunes:**
|
|
- **Pages** - Páginas web principales
|
|
- **Blog Posts** - Artículos y publicaciones
|
|
- **Products** - Catálogo de productos
|
|
- **Team** - Información del equipo
|
|
- **Settings** - Configuración global del sitio
|
|
- **Media** - Archivos de imagen y documentos
|
|
|
|
#### Interfaz de Gestión
|
|
|
|
**Panel Principal:**
|
|
```
|
|
Interfaz > Collections (Colecciones)
|
|
- Crear, editar, eliminar elementos
|
|
- Organizar por campos personalizados
|
|
- Relaciones entre colecciones
|
|
```
|
|
|
|
**Campos Disponibles:**
|
|
- Texto (Text, Long Text)
|
|
- Números (Integer, Decimal)
|
|
- Selecciones (Dropdown, Multiple)
|
|
- Fechas y hora
|
|
- Booleanos
|
|
- Relaciones (Many-to-One, One-to-Many, Many-to-Many)
|
|
- Archivos (Imágenes, documentos)
|
|
- JSON
|
|
- Campos personalizados
|
|
|
|
#### Gestión de Medios
|
|
```
|
|
Archivos > Todos los archivos
|
|
- Subir imágenes y documentos
|
|
- Organizar en carpetas
|
|
- Transformaciones de imagen (redimensionamiento, filtros)
|
|
- Integración automática en colecciones
|
|
```
|
|
|
|
### API REST y GraphQL
|
|
|
|
#### API REST
|
|
|
|
Directus genera automáticamente una API REST basada en tu estructura de datos.
|
|
|
|
**Endpoints automáticos:**
|
|
```
|
|
GET /items/pages - Obtener todas las páginas
|
|
GET /items/pages/:id - Obtener página específica
|
|
POST /items/pages - Crear página
|
|
PATCH /items/pages/:id - Actualizar página
|
|
DELETE /items/pages/:id - Eliminar página
|
|
```
|
|
|
|
**Ejemplo de petición:**
|
|
```bash
|
|
curl -X GET "http://92.112.181.188:8055/api/items/pages" \
|
|
-H "Authorization: Bearer TOKEN"
|
|
```
|
|
|
|
**Autenticación:**
|
|
```bash
|
|
curl -X POST "http://92.112.181.188:8055/auth/login" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"email":"usuario@ejemplo.com", "password":"contraseña"}'
|
|
```
|
|
|
|
#### API GraphQL
|
|
|
|
Consultas GraphQL para obtener datos de forma más flexible:
|
|
|
|
**Endpoint:**
|
|
```
|
|
POST http://92.112.181.188:8055/graphql
|
|
```
|
|
|
|
**Ejemplo de consulta:**
|
|
```graphql
|
|
query {
|
|
pages {
|
|
id
|
|
title
|
|
content
|
|
created_at
|
|
}
|
|
}
|
|
```
|
|
|
|
**Con filtros:**
|
|
```graphql
|
|
query {
|
|
pages(filter: {status: {_eq: "published"}}) {
|
|
id
|
|
title
|
|
featured_image {
|
|
id
|
|
filename_disk
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Configuración de Directus 11
|
|
|
|
#### Acceso Administrativo
|
|
```
|
|
Configuración > Access Control
|
|
- Roles y permisos
|
|
- Usuarios administradores
|
|
- Tokens API para automatización
|
|
```
|
|
|
|
#### Flujos de Trabajo (Workflows)
|
|
```
|
|
Flujos de Trabajo > Crear Flujo
|
|
- Estados de contenido (Borrador, Pendiente revisión, Publicado)
|
|
- Aprobaciones automáticas
|
|
- Notificaciones
|
|
```
|
|
|
|
#### Extensiones e Integraciones
|
|
```
|
|
Extensiones > Gestionar
|
|
- Hooks personalizados
|
|
- Campos personalizados
|
|
- Integraciones con servicios externos
|
|
```
|
|
|
|
#### Configuración de Base de Datos
|
|
```
|
|
Configuración > Colecciones
|
|
- Crear nuevas colecciones
|
|
- Definir campos
|
|
- Establecer relaciones
|
|
```
|
|
|
|
---
|
|
|
|
## Próximas Secciones
|
|
|
|
Este es el Manual CORP Parte 1. Las siguientes secciones incluirán:
|
|
|
|
- **Parte 2**: Administración de CORP (Gestión de servicios, bases de datos, backups)
|
|
- **Parte 3**: Integración entre Odoo y Directus
|
|
- **Parte 4**: Mantenimiento y troubleshooting
|
|
- **Parte 5**: Procedimientos de respaldo y recuperación
|
|
|
|
---
|
|
|
|
**Versión:** 1.0
|
|
**Fecha:** 2025-12-30
|
|
**Sistema:** TZZR - CORP (92.112.181.188)
|
|
|
|
---
|
|
|
|
# Manual de Usuario CORP - PARTE 2: Servicios y Administración
|
|
|
|
**Servidor**: corp (92.112.181.188)
|
|
**Documento**: Guía de servicios, microservicios y administración del sistema TTZR
|
|
|
|
---
|
|
|
|
## 1. Otros Servicios
|
|
|
|
### Nextcloud (Puerto 8080)
|
|
**Acceso**: http://92.112.181.188:8080
|
|
|
|
**Propósito**: Gestor de archivos compartidos, sincronización y colaboración
|
|
|
|
**Funcionalidades principales**:
|
|
- Almacenamiento personal y compartido
|
|
- Sincronización de archivos entre dispositivos
|
|
- Sharing de carpetas con permisos granulares
|
|
- Editor de documentos colaborativo
|
|
- Gestión de calendarios y contactos
|
|
|
|
**Tareas comunes**:
|
|
```bash
|
|
# Ver estado del contenedor
|
|
docker ps | grep nextcloud
|
|
|
|
# Acceder a logs
|
|
docker logs nextcloud
|
|
|
|
# Reiniciar servicio
|
|
docker restart nextcloud
|
|
```
|
|
|
|
---
|
|
|
|
### Vaultwarden (Puerto 8081)
|
|
**Acceso**: http://92.112.181.188:8081
|
|
|
|
**Propósito**: Gestor de contraseñas y secretos cifrados
|
|
|
|
**Funcionalidades principales**:
|
|
- Almacenamiento seguro de credenciales
|
|
- Generador de contraseñas
|
|
- Sincronización con clientes (Web, Desktop, Mobile)
|
|
- Auditoría de accesos
|
|
- Backup automático
|
|
|
|
**Tareas comunes**:
|
|
```bash
|
|
# Ver estado
|
|
docker ps | grep vaultwarden
|
|
|
|
# Reiniciar
|
|
docker restart vaultwarden
|
|
|
|
# Backup de bóveda
|
|
docker exec vaultwarden tar czf /data/backup.tar.gz /data/
|
|
```
|
|
|
|
---
|
|
|
|
### Shlink (Puerto 8082)
|
|
**Acceso**: http://92.112.181.188:8082
|
|
|
|
**Propósito**: Generador y gestor de URLs cortas
|
|
|
|
**Funcionalidades principales**:
|
|
- Acortamiento de URLs largas
|
|
- Estadísticas de clics y accesos
|
|
- Dominio personalizado
|
|
- QR automático
|
|
- API para integración
|
|
|
|
**Tareas comunes**:
|
|
```bash
|
|
# Ver estadísticas
|
|
curl http://92.112.181.188:8082/rest/stats
|
|
|
|
# Crear URL corta (vía API)
|
|
curl -X POST http://92.112.181.188:8082/api/v2/short-urls \
|
|
-H "Authorization: Bearer YOUR_API_KEY" \
|
|
-d '{"longUrl":"https://example.com/long/url"}'
|
|
```
|
|
|
|
---
|
|
|
|
### ntfy (Puerto 8880)
|
|
**Acceso**: http://92.112.181.188:8880
|
|
|
|
**Propósito**: Sistema de notificaciones push y eventos
|
|
|
|
**Funcionalidades principales**:
|
|
- Notificaciones en tiempo real
|
|
- Suscripción a tópicos
|
|
- Integración con webhooks
|
|
- Sin autenticación (privacidad opcional)
|
|
- Cliente CLI disponible
|
|
|
|
**Tareas comunes**:
|
|
```bash
|
|
# Enviar notificación
|
|
curl -d "Hello from CORP" http://92.112.181.188:8880/alerts
|
|
|
|
# Suscribirse a tópico
|
|
curl -s http://92.112.181.188:8880/alerts/subscribe
|
|
|
|
# Ver estado
|
|
docker ps | grep ntfy
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Microservicios TTZR
|
|
|
|
Los siguientes microservicios forman parte del sistema multiagente TTZR:
|
|
|
|
### Margaret (Puerto 5051)
|
|
**Propósito**: Agente de orquestación y coordinación
|
|
|
|
**Funcionalidades**:
|
|
- Gestión de tareas distribuidas
|
|
- Coordina workflows entre servicios
|
|
- Mantiene estado del sistema
|
|
|
|
**Acceso**:
|
|
```bash
|
|
curl http://92.112.181.188:5051/health
|
|
```
|
|
|
|
---
|
|
|
|
### Jared (Puerto 5052)
|
|
**Propósito**: Procesamiento de datos y análisis
|
|
|
|
**Funcionalidades**:
|
|
- Transformación de datos
|
|
- Análisis en tiempo real
|
|
- Integración con pipeline de datos
|
|
|
|
**Acceso**:
|
|
```bash
|
|
curl http://92.112.181.188:5052/health
|
|
```
|
|
|
|
---
|
|
|
|
### Mason (Puerto 5053)
|
|
**Propósito**: Generación y gestión de reportes
|
|
|
|
**Funcionalidades**:
|
|
- Compilación de reportes
|
|
- Exportación múltiples formatos
|
|
- Programación de reportes
|
|
|
|
**Acceso**:
|
|
```bash
|
|
curl http://92.112.181.188:5053/reports
|
|
```
|
|
|
|
---
|
|
|
|
### Feldman (Puerto 5054)
|
|
**Propósito**: Auditoría y logging centralizado
|
|
|
|
**Funcionalidades**:
|
|
- Registro de eventos
|
|
- Trazabilidad completa
|
|
- Alertas de seguridad
|
|
|
|
**Acceso**:
|
|
```bash
|
|
curl http://92.112.181.188:5054/logs
|
|
```
|
|
|
|
---
|
|
|
|
### HSU User Library (Puerto 5002)
|
|
**Propósito**: Biblioteca de funciones y utilidades compartidas
|
|
|
|
**Funcionalidades**:
|
|
- Librerías reutilizables
|
|
- Utilidades comunes
|
|
- Versionado de dependencias
|
|
|
|
**Acceso**:
|
|
```bash
|
|
curl http://92.112.181.188:5002/api/libraries
|
|
```
|
|
|
|
---
|
|
|
|
## 3. PostgreSQL
|
|
|
|
### Información General
|
|
**Puerto**: 5432
|
|
**Conexión**: `psql -h 92.112.181.188 -U postgres -d <database>`
|
|
|
|
### Bases de Datos Principales
|
|
|
|
#### ttzr
|
|
**Propósito**: Base de datos central del sistema
|
|
|
|
**Contenido**:
|
|
- 32 tablas del módulo context-manager
|
|
- Esquemas:
|
|
- `00_base` - Estructura base
|
|
- `01_immutable_log` - Log inmutable
|
|
- `02_context_manager` - Gestor de contexto
|
|
- `03_algorithm_engine` - Motor de algoritmos
|
|
|
|
**Acceso**:
|
|
```bash
|
|
psql -h 92.112.181.188 -U postgres -d ttzr
|
|
\dt # Listar tablas
|
|
\dn # Listar esquemas
|
|
SELECT * FROM information_schema.tables WHERE table_schema = 'context_manager';
|
|
```
|
|
|
|
---
|
|
|
|
#### corp
|
|
**Propósito**: Datos específicos de operaciones corporativas
|
|
|
|
**Contenido**:
|
|
- Configuraciones locales
|
|
- Estado de servicios
|
|
- Logs de operación
|
|
|
|
---
|
|
|
|
#### nextcloud
|
|
**Propósito**: Almacenamiento de metadatos de Nextcloud
|
|
|
|
**Contenido**:
|
|
- Metadatos de archivos
|
|
- Permisos y shares
|
|
- Actividad de usuarios
|
|
|
|
---
|
|
|
|
#### shlink
|
|
**Propósito**: Almacenamiento de URLs cortas
|
|
|
|
**Contenido**:
|
|
- URLs originales y acortadas
|
|
- Estadísticas de acceso
|
|
- Dominio y mappeo
|
|
|
|
---
|
|
|
|
#### odoo
|
|
**Propósito**: ERP integrado
|
|
|
|
**Contenido**:
|
|
- Datos de negocio
|
|
- CRM y ventas
|
|
- Contabilidad
|
|
|
|
**Acceso Odoo**: http://92.112.181.188:8069
|
|
|
|
---
|
|
|
|
### Context-Manager Esquemas (32 Tablas)
|
|
|
|
El módulo context-manager proporciona 32 tablas distribuidas en 4 esquemas:
|
|
|
|
#### 00_base (Base Structures)
|
|
Tablas fundamentales de estructura y tipos de datos
|
|
|
|
#### 01_immutable_log (Auditoría y Trazabilidad)
|
|
Log inmutable para auditoría completa del sistema
|
|
```sql
|
|
SELECT * FROM immutable_log.events LIMIT 10;
|
|
SELECT event_type, COUNT(*) FROM immutable_log.events GROUP BY event_type;
|
|
```
|
|
|
|
#### 02_context_manager (Gestor de Contexto)
|
|
Gestión del contexto de ejecución y estado
|
|
```sql
|
|
SELECT * FROM context_manager.contexts WHERE status = 'active';
|
|
SELECT * FROM context_manager.sessions;
|
|
```
|
|
|
|
#### 03_algorithm_engine (Motor de Algoritmos)
|
|
Definición y ejecución de algoritmos
|
|
```sql
|
|
SELECT * FROM algorithm_engine.algorithms;
|
|
SELECT * FROM algorithm_engine.executions ORDER BY created_at DESC;
|
|
```
|
|
|
|
**Consulta completa de estructura**:
|
|
```bash
|
|
psql -h 92.112.181.188 -U postgres -d ttzr -c "\dt"
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Administración y Troubleshooting
|
|
|
|
### Monitoreo General
|
|
|
|
#### Estado de Servicios Docker
|
|
```bash
|
|
ssh root@92.112.181.188
|
|
|
|
# Ver todos los contenedores
|
|
docker ps -a
|
|
|
|
# Ver logs en tiempo real
|
|
docker logs -f <nombre_contenedor>
|
|
|
|
# Ver recursos utilizados
|
|
docker stats
|
|
```
|
|
|
|
#### Verificar Disponibilidad de Puertos
|
|
```bash
|
|
# Desde el servidor
|
|
netstat -tuln | grep LISTEN
|
|
|
|
# Desde cliente remoto
|
|
nc -zv 92.112.181.188 8080
|
|
nc -zv 92.112.181.188 5432
|
|
```
|
|
|
|
---
|
|
|
|
### Troubleshooting Común
|
|
|
|
#### Servicio No Responde
|
|
```bash
|
|
# 1. Verificar status
|
|
docker ps | grep <servicio>
|
|
|
|
# 2. Ver logs
|
|
docker logs <servicio>
|
|
|
|
# 3. Reiniciar
|
|
docker restart <servicio>
|
|
|
|
# 4. Rebuild si persiste
|
|
docker-compose down <servicio>
|
|
docker-compose up -d <servicio>
|
|
```
|
|
|
|
#### PostgreSQL Connection Refused
|
|
```bash
|
|
# Verificar que está corriendo
|
|
docker ps | grep postgres
|
|
|
|
# Reiniciar PostgreSQL
|
|
docker restart postgres
|
|
|
|
# Verificar conexión
|
|
psql -h 92.112.181.188 -U postgres -c "SELECT version();"
|
|
```
|
|
|
|
#### Problemas de Almacenamiento
|
|
```bash
|
|
# Ver uso de disco
|
|
df -h
|
|
|
|
# Limpiar contenedores stopped
|
|
docker container prune -f
|
|
|
|
# Limpiar imágenes sin usar
|
|
docker image prune -f
|
|
|
|
# Ver volúmenes
|
|
docker volume ls
|
|
```
|
|
|
|
---
|
|
|
|
### Backups y Recuperación
|
|
|
|
#### Backup PostgreSQL
|
|
```bash
|
|
docker exec postgres pg_dump -U postgres ttzr > ttzr_backup.sql
|
|
|
|
# O completo (todas las BD)
|
|
docker exec postgres pg_dumpall -U postgres > full_backup.sql
|
|
```
|
|
|
|
#### Restaurar PostgreSQL
|
|
```bash
|
|
docker exec -i postgres psql -U postgres ttzr < ttzr_backup.sql
|
|
```
|
|
|
|
#### Backup Nextcloud
|
|
```bash
|
|
docker exec nextcloud tar czf /data/backup.tar.gz /var/www/html
|
|
```
|
|
|
|
---
|
|
|
|
### Logs y Auditoría
|
|
|
|
#### Ver Logs Centralizados
|
|
```bash
|
|
# Tabla de auditoría
|
|
psql -h 92.112.181.188 -U postgres -d ttzr -c \
|
|
"SELECT * FROM immutable_log.events ORDER BY created_at DESC LIMIT 20;"
|
|
|
|
# Por tipo de evento
|
|
psql -h 92.112.181.188 -U postgres -d ttzr -c \
|
|
"SELECT event_type, COUNT(*) FROM immutable_log.events GROUP BY event_type;"
|
|
```
|
|
|
|
#### Logs de Feldman
|
|
```bash
|
|
curl http://92.112.181.188:5054/logs?limit=100
|
|
```
|
|
|
|
---
|
|
|
|
### Comandos Útiles
|
|
|
|
#### Conectarse a Base de Datos
|
|
```bash
|
|
# Interactive
|
|
psql -h 92.112.181.188 -U postgres -d ttzr
|
|
|
|
# Desde línea de comandos
|
|
psql -h 92.112.181.188 -U postgres -d ttzr -c "SELECT COUNT(*) FROM information_schema.tables;"
|
|
```
|
|
|
|
#### Ejecutar SQL Script
|
|
```bash
|
|
psql -h 92.112.181.188 -U postgres -d ttzr -f script.sql
|
|
```
|
|
|
|
#### Health Check Completo
|
|
```bash
|
|
#!/bin/bash
|
|
echo "=== Docker Containers ==="
|
|
ssh root@92.112.181.188 docker ps
|
|
|
|
echo "=== PostgreSQL ==="
|
|
psql -h 92.112.181.188 -U postgres -c "SELECT 'OK' as status;"
|
|
|
|
echo "=== Services HTTP ==="
|
|
for port in 8080 8081 8082 8880 5051 5052 5053 5054 5002; do
|
|
curl -s http://92.112.181.188:$port/health || echo "Port $port: DOWN"
|
|
done
|
|
```
|
|
|
|
---
|
|
|
|
## Contacto y Soporte
|
|
|
|
Para problemas o preguntas:
|
|
- **Sistema Central**: Gitea en 69.62.126.110
|
|
- **Auditoría**: Revisar logs en Feldman (5054)
|
|
- **Documentación**: R2 `s3://architect/documentos adjuntos/`
|
|
|
|
---
|
|
|
|
**Última actualización**: 2025-12-30
|
|
**Versión**: 2.0 - Servicios y Administración
|
|
|
|
---
|
|
|
|
# MANUAL DE USUARIO CORP - PARTE 3
|
|
## Guías Rápidas y Procedimientos Frecuentes
|
|
|
|
**Fecha:** 2025-12-30
|
|
**Versión:** 1.0
|
|
**Servidor:** corp (root@92.112.181.188)
|
|
|
|
---
|
|
|
|
## 1. GUÍA RÁPIDA DE INICIO
|
|
|
|
### 1.1 Primeros Pasos en CORP
|
|
|
|
#### Acceso al Servidor
|
|
```bash
|
|
# Conectarse via SSH
|
|
ssh root@92.112.181.188
|
|
|
|
# Verificar servicios activos
|
|
docker ps
|
|
|
|
# Ver estado general
|
|
docker ps -a
|
|
```
|
|
|
|
#### Verificación de Conectividad
|
|
```bash
|
|
# Ping a servicios locales
|
|
curl -I http://localhost:3000 # Directus
|
|
curl -I http://localhost:8000 # Odoo
|
|
curl -I http://localhost:8080 # Nextcloud
|
|
curl -I http://localhost:3001 # Shlink
|
|
|
|
# Ver logs de Docker Compose
|
|
docker-compose logs
|
|
```
|
|
|
|
### 1.2 Acceder a Odoo
|
|
|
|
#### URL y Credenciales
|
|
- **URL:** `http://92.112.181.188:8000`
|
|
- **Usuario:** admin
|
|
- **Contraseña:** [Ver en .env]
|
|
|
|
#### Primeros Pasos
|
|
1. Login con credenciales
|
|
2. Ir a Dashboard
|
|
3. Módulos disponibles:
|
|
- Ventas (Sales)
|
|
- Facturación (Invoicing)
|
|
- Inventario (Inventory)
|
|
- Contabilidad (Accounting)
|
|
- RR.HH. (HR)
|
|
|
|
#### Navegación Básica
|
|
```
|
|
Menú Principal > Módulo Deseado > Operación
|
|
```
|
|
|
|
Ejemplo:
|
|
```
|
|
Sales > Orders > Create Order
|
|
```
|
|
|
|
### 1.3 Acceder a Directus
|
|
|
|
#### URL y Credenciales
|
|
- **URL:** `http://92.112.181.188:3000`
|
|
- **Usuario:** admin@directus.io
|
|
- **Contraseña:** [Ver en .env]
|
|
|
|
#### Interfaz Principal
|
|
1. **Collections** - Tablas de datos
|
|
2. **Items** - Registros individuales
|
|
3. **Settings** - Configuración
|
|
4. **Users** - Gestión de usuarios
|
|
|
|
#### Primeros Pasos
|
|
1. Login
|
|
2. Explora Collections disponibles
|
|
3. Crea tu primer Item
|
|
4. Configurar permisos de acceso
|
|
|
|
---
|
|
|
|
## 2. CASOS DE USO COMUNES
|
|
|
|
### 2.1 Crear una Factura en Odoo
|
|
|
|
#### Paso a Paso
|
|
|
|
**1. Acceder a Facturación**
|
|
```
|
|
Menu Principal > Accounting > Invoices > Create
|
|
```
|
|
|
|
**2. Completar Datos Básicos**
|
|
- Partner (Cliente)
|
|
- Invoice Type: Invoice
|
|
- Invoice Date
|
|
- Due Date
|
|
|
|
**3. Agregar Líneas de Factura**
|
|
- Click en "Add a line"
|
|
- Seleccionar Producto
|
|
- Cantidad
|
|
- Precio unitario
|
|
- Impuesto (si aplica)
|
|
|
|
**4. Revisar Totales**
|
|
- Subtotal
|
|
- Impuestos
|
|
- Total
|
|
|
|
**5. Confirmar**
|
|
- Click en "Confirm"
|
|
- Estado cambia a "Posted"
|
|
|
|
**6. Enviar al Cliente**
|
|
- Click en "Send & Print"
|
|
- Seleccionar método (Email/Print)
|
|
|
|
#### Consejos
|
|
- Guardar borradores regularmente (Ctrl+S)
|
|
- Revisar datos del cliente antes de confirmar
|
|
- Mantener histórico de facturas
|
|
|
|
---
|
|
|
|
### 2.2 Gestionar Contenido en Directus
|
|
|
|
#### Crear una Nueva Colección
|
|
|
|
**1. Ir a Settings**
|
|
```
|
|
Settings > Data Model > New Collection
|
|
```
|
|
|
|
**2. Definir Estructura**
|
|
- Name: Nombre de la colección
|
|
- Primary Key: campo único
|
|
- Agregar Fields
|
|
- Nombre del campo
|
|
- Tipo de dato (String, Integer, etc.)
|
|
- Opciones adicionales
|
|
|
|
**3. Crear Items**
|
|
```
|
|
Collections > Mi Colección > Create
|
|
```
|
|
|
|
**4. Completar Datos**
|
|
- Rellenar campos
|
|
- Guardar ("Save")
|
|
|
|
#### Tipos de Campos Comunes
|
|
| Tipo | Uso |
|
|
|------|-----|
|
|
| String | Texto corto |
|
|
| Text | Texto largo |
|
|
| Integer | Números enteros |
|
|
| Decimal | Números decimales |
|
|
| Date | Fechas |
|
|
| Boolean | Verdadero/Falso |
|
|
| JSON | Datos complejos |
|
|
| Relationship | Relaciones entre tablas |
|
|
|
|
#### Gestionar Permisos
|
|
```
|
|
Settings > Access Control > Roles > Editar Rol
|
|
```
|
|
|
|
Seleccionar permisos para:
|
|
- Create (crear)
|
|
- Read (leer)
|
|
- Update (actualizar)
|
|
- Delete (eliminar)
|
|
|
|
---
|
|
|
|
### 2.3 Compartir Archivos en Nextcloud
|
|
|
|
#### URL y Acceso
|
|
- **URL:** `http://92.112.181.188:8080`
|
|
- **Usuario:** [Ver en .env]
|
|
- **Contraseña:** [Ver en .env]
|
|
|
|
#### Subir Archivo
|
|
|
|
**1. Dashboard**
|
|
```
|
|
Nextcloud > Files
|
|
```
|
|
|
|
**2. Subir**
|
|
- Arrastrar archivo o Click en "+"
|
|
- Seleccionar archivo
|
|
- Esperar carga
|
|
|
|
**3. Compartir**
|
|
- Click derecho > Share
|
|
- Opciones:
|
|
- Por enlace
|
|
- Con usuario específico
|
|
- Configurar permisos (read/edit)
|
|
|
|
#### Crear Carpeta Compartida
|
|
|
|
**1. Nueva Carpeta**
|
|
```
|
|
Click en "+" > Create Folder
|
|
```
|
|
|
|
**2. Nombrar Carpeta**
|
|
```
|
|
"Nombre Proyecto"
|
|
```
|
|
|
|
**3. Compartir**
|
|
- Seleccionar carpeta
|
|
- Click "Share"
|
|
- Agregar usuarios
|
|
- Permisos: Read/Edit/Share
|
|
|
|
#### Tips
|
|
- Organizar por proyectos
|
|
- Usar nombres descriptivos
|
|
- Revisar permisos regularmente
|
|
- Limpiar archivos antiguos
|
|
|
|
---
|
|
|
|
### 2.4 Crear URL Corta con Shlink
|
|
|
|
#### URL del Servicio
|
|
- **URL:** `http://92.112.181.188:3001`
|
|
- **API:** `http://92.112.181.188:3001/api/v3`
|
|
|
|
#### Crear URL Corta (Web)
|
|
|
|
**1. Acceder a Shlink**
|
|
```
|
|
http://92.112.181.188:3001
|
|
```
|
|
|
|
**2. New Short URL**
|
|
- Long URL: URL original
|
|
- Custom short code: (opcional)
|
|
- Domain: seleccionar dominio
|
|
- Options:
|
|
- Make it private
|
|
- Set expiration date
|
|
- Limit visits
|
|
|
|
**3. Crear**
|
|
```
|
|
Click "Create"
|
|
```
|
|
|
|
**4. Usar URL Corta**
|
|
```
|
|
http://92.112.181.188:3001/{short-code}
|
|
```
|
|
|
|
#### Crear URL Corta (CLI)
|
|
|
|
```bash
|
|
# Obtener API Key
|
|
# Está en Shlink Admin Panel
|
|
|
|
curl -X POST http://92.112.181.188:3001/api/v3/short-urls \
|
|
-H "Content-Type: application/json" \
|
|
-H "X-API-Key: YOUR_API_KEY" \
|
|
-d '{
|
|
"longUrl": "https://ejemplo.com/ruta/muy/larga",
|
|
"customSlug": "mi-url-corta",
|
|
"maxVisits": 100,
|
|
"validSince": "2025-01-01T00:00:00Z"
|
|
}'
|
|
```
|
|
|
|
#### Ver Estadísticas
|
|
```
|
|
Dashboard > Short URLs > Seleccionar URL > Ver Stats
|
|
```
|
|
|
|
Información disponible:
|
|
- Visitas totales
|
|
- Gráfico temporal
|
|
- Referrers
|
|
- Devices/OS
|
|
- Países
|
|
|
|
---
|
|
|
|
## 3. COMANDOS FRECUENTES
|
|
|
|
### 3.1 Comandos Docker
|
|
|
|
#### Ver Servicios en Ejecución
|
|
```bash
|
|
# Listar contenedores activos
|
|
docker ps
|
|
|
|
# Listar todos (incluyendo parados)
|
|
docker ps -a
|
|
|
|
# Ver tamaño de contenedores
|
|
docker ps --size
|
|
```
|
|
|
|
#### Ver Logs
|
|
|
|
```bash
|
|
# Logs del último servicio (últimas 100 líneas)
|
|
docker logs -f --tail=100 odoo
|
|
|
|
# Logs de Directus
|
|
docker logs -f directus
|
|
|
|
# Logs de Nextcloud
|
|
docker logs -f nextcloud
|
|
|
|
# Logs en tiempo real (Ctrl+C para salir)
|
|
docker logs -f nombre-contenedor
|
|
```
|
|
|
|
#### Reiniciar Servicios
|
|
|
|
```bash
|
|
# Reiniciar servicio específico
|
|
docker-compose restart odoo
|
|
docker-compose restart directus
|
|
docker-compose restart nextcloud
|
|
|
|
# Reiniciar todos los servicios
|
|
docker-compose restart
|
|
|
|
# Detener servicio
|
|
docker-compose stop nombre-servicio
|
|
|
|
# Iniciar servicio
|
|
docker-compose start nombre-servicio
|
|
|
|
# Recrear contenedor (con nuevas imágenes)
|
|
docker-compose up -d --force-recreate nombre-servicio
|
|
```
|
|
|
|
#### Estadísticas de Uso
|
|
```bash
|
|
# Ver CPU, memoria, red
|
|
docker stats
|
|
|
|
# Salida formateada
|
|
docker stats --no-stream
|
|
```
|
|
|
|
#### Inspeccionar Contenedor
|
|
```bash
|
|
# Ver detalles del contenedor
|
|
docker inspect nombre-contenedor
|
|
|
|
# Ver variables de entorno
|
|
docker inspect -f '{{json .Config.Env}}' nombre-contenedor | jq
|
|
```
|
|
|
|
### 3.2 Comandos PostgreSQL
|
|
|
|
#### Conectarse a PostgreSQL
|
|
```bash
|
|
# Acceso directo
|
|
docker exec -it postgres psql -U postgres
|
|
|
|
# Con base de datos específica
|
|
docker exec -it postgres psql -U postgres -d odoo_db
|
|
```
|
|
|
|
#### Queries Útiles
|
|
|
|
**Información General**
|
|
```sql
|
|
-- Ver bases de datos
|
|
\l
|
|
|
|
-- Ver tablas
|
|
\dt
|
|
|
|
-- Conectarse a BD específica
|
|
\c nombre_bd
|
|
|
|
-- Ver estructura de tabla
|
|
\d nombre_tabla
|
|
```
|
|
|
|
**Usuarios y Conexiones**
|
|
```sql
|
|
-- Ver usuarios
|
|
SELECT * FROM pg_user;
|
|
|
|
-- Ver conexiones activas
|
|
SELECT datname, usename, application_name, state
|
|
FROM pg_stat_activity
|
|
WHERE state IS NOT NULL;
|
|
|
|
-- Matar conexión específica
|
|
SELECT pg_terminate_backend(pid)
|
|
FROM pg_stat_activity
|
|
WHERE datname = 'nombre_bd' AND pid <> pg_backend_pid();
|
|
```
|
|
|
|
**Odoo - Queries Comunes**
|
|
```sql
|
|
-- Ver empresas
|
|
SELECT id, name FROM res_company;
|
|
|
|
-- Ver usuarios
|
|
SELECT id, login, name FROM res_users LIMIT 10;
|
|
|
|
-- Ver facturas
|
|
SELECT id, name, state, amount_total
|
|
FROM account_move
|
|
WHERE move_type = 'out_invoice'
|
|
ORDER BY date DESC LIMIT 10;
|
|
|
|
-- Contar facturas por estado
|
|
SELECT state, COUNT(*) as total
|
|
FROM account_move
|
|
GROUP BY state;
|
|
|
|
-- Facturas sin pagar
|
|
SELECT id, name, amount_total, invoice_date
|
|
FROM account_move
|
|
WHERE move_type = 'out_invoice'
|
|
AND payment_state = 'not_paid'
|
|
ORDER BY invoice_date DESC;
|
|
```
|
|
|
|
**Directus - Queries**
|
|
```sql
|
|
-- Ver colecciones
|
|
SELECT * FROM directus_collections;
|
|
|
|
-- Ver campos
|
|
SELECT collection, field, type FROM directus_fields;
|
|
|
|
-- Ver usuarios Directus
|
|
SELECT id, email, first_name, last_name FROM directus_users;
|
|
|
|
-- Ver roles
|
|
SELECT id, name FROM directus_roles;
|
|
```
|
|
|
|
**Performance**
|
|
```sql
|
|
-- Tablas más grandes
|
|
SELECT schemaname, tablename,
|
|
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS size
|
|
FROM pg_tables
|
|
WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
|
|
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
|
|
|
|
-- Índices no usados
|
|
SELECT schemaname, tablename, indexname
|
|
FROM pg_stat_user_indexes
|
|
WHERE idx_scan = 0
|
|
ORDER BY pg_size_pretty(pg_relation_size(indexrelid)) DESC;
|
|
```
|
|
|
|
#### Backup y Restore
|
|
```bash
|
|
# Backup de base de datos
|
|
docker exec postgres pg_dump -U postgres nombre_bd > backup.sql
|
|
|
|
# Backup comprimido
|
|
docker exec postgres pg_dump -U postgres nombre_bd | gzip > backup.sql.gz
|
|
|
|
# Restaurar
|
|
docker exec -i postgres psql -U postgres nombre_bd < backup.sql
|
|
|
|
# Restaurar desde comprimido
|
|
zcat backup.sql.gz | docker exec -i postgres psql -U postgres nombre_bd
|
|
```
|
|
|
|
### 3.3 Tips de Productividad
|
|
|
|
#### Atajos de Teclado Útiles
|
|
|
|
**Navegación General**
|
|
| Atajo | Acción |
|
|
|-------|--------|
|
|
| Ctrl+K | Búsqueda global (Odoo) |
|
|
| Ctrl+H | Historial |
|
|
| Ctrl+S | Guardar |
|
|
| Ctrl+Shift+N | Nueva pestaña |
|
|
| Alt+← | Atrás |
|
|
| Alt+→ | Adelante |
|
|
|
|
**En Odoo**
|
|
| Atajo | Acción |
|
|
|-------|--------|
|
|
| Ctrl+L | Saltar a búsqueda de registros |
|
|
| Ctrl+Shift+J | Abrir consola de desarrollador |
|
|
| Tab | Siguiente campo |
|
|
| Shift+Tab | Campo anterior |
|
|
|
|
**En Directus**
|
|
| Atajo | Acción |
|
|
|-------|--------|
|
|
| Ctrl+S | Guardar |
|
|
| Ctrl+D | Duplicar |
|
|
| Ctrl+L | Saltar a búsqueda |
|
|
|
|
#### Macros y Automatización
|
|
|
|
**Crear filtro rápido en Odoo**
|
|
```
|
|
Haz clic en el icono de embudo (Filter)
|
|
Agrega condiciones
|
|
Guarda como filtro personalizado
|
|
```
|
|
|
|
**Búsqueda avanzada**
|
|
```
|
|
[campo] = valor
|
|
[campo] >= valor
|
|
[campo] like '%texto%'
|
|
[campo] in (valor1, valor2)
|
|
```
|
|
|
|
#### Troubleshooting Rápido
|
|
|
|
**Servicio no responde**
|
|
```bash
|
|
# 1. Ver logs
|
|
docker logs nombre-servicio
|
|
|
|
# 2. Reiniciar
|
|
docker-compose restart nombre-servicio
|
|
|
|
# 3. Ver estado
|
|
docker ps | grep nombre-servicio
|
|
|
|
# 4. Si falla, recrear
|
|
docker-compose up -d --force-recreate nombre-servicio
|
|
```
|
|
|
|
**Olvidé credenciales**
|
|
```bash
|
|
# Ver variables de entorno
|
|
docker exec nombre-contenedor env | grep -i pass
|
|
|
|
# O revisar el .env
|
|
cat .env | grep -i -E "(user|pass|secret)"
|
|
```
|
|
|
|
**Base de datos lenta**
|
|
```bash
|
|
# Ver conexiones activas
|
|
docker exec -it postgres psql -U postgres -c \
|
|
"SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname;"
|
|
|
|
# Optimizar tabla
|
|
docker exec -it postgres psql -U postgres -c "VACUUM ANALYZE nombre_tabla;"
|
|
```
|
|
|
|
**Problema de espacio disco**
|
|
```bash
|
|
# Ver uso de disco
|
|
df -h
|
|
|
|
# Ver tamaño de volúmenes Docker
|
|
docker system df
|
|
|
|
# Limpiar datos no usados
|
|
docker system prune -a --volumes
|
|
```
|
|
|
|
---
|
|
|
|
## 4. GUÍA DE SOPORTE
|
|
|
|
### Reportar Problemas
|
|
1. Recopilar información:
|
|
- Logs relevantes
|
|
- Pasos para reproducir
|
|
- Capturas de pantalla
|
|
|
|
2. Contactar:
|
|
- **Admin del Sistema:** Revisar en documentación
|
|
- **Reportar en:** Gitea Issues
|
|
|
|
### Contacto de Emergencia
|
|
- Sistema centralizado: TZZR (69.62.126.110)
|
|
- Acceso SSH disponible para administradores
|
|
|
|
---
|
|
|
|
**Fin del Manual - PARTE 3**
|
|
|
|
*Para actualizaciones y mejoras, contactar al equipo de administración del sistema.*
|