Files
system-docs/MANUAL_USUARIO_CORP.md
ARCHITECT 9f3a4214d3 Sync from R2 skynet v8: manuales, operación, glosario v3
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>
2026-01-01 10:53:57 +00:00

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.*