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

29 KiB

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:

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:

# 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:

curl -X GET "http://92.112.181.188:8055/api/items/pages" \
  -H "Authorization: Bearer TOKEN"

Autenticación:

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:

query {
  pages {
    id
    title
    content
    created_at
  }
}

Con filtros:

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:

# 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:

# Ver estado
docker ps | grep vaultwarden

# Reiniciar
docker restart vaultwarden

# Backup de bóveda
docker exec vaultwarden tar czf /data/backup.tar.gz /data/

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:

# 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:

# 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:

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:

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:

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:

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:

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:

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

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

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

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

SELECT * FROM algorithm_engine.algorithms;
SELECT * FROM algorithm_engine.executions ORDER BY created_at DESC;

Consulta completa de estructura:

psql -h 92.112.181.188 -U postgres -d ttzr -c "\dt"

4. Administración y Troubleshooting

Monitoreo General

Estado de Servicios Docker

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

# 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

# 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

# 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

# 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

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

docker exec -i postgres psql -U postgres ttzr < ttzr_backup.sql

Backup Nextcloud

docker exec nextcloud tar czf /data/backup.tar.gz /var/www/html

Logs y Auditoría

Ver Logs Centralizados

# 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

curl http://92.112.181.188:5054/logs?limit=100

Comandos Útiles

Conectarse a Base de Datos

# 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

psql -h 92.112.181.188 -U postgres -d ttzr -f script.sql

Health Check Completo

#!/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

# Conectarse via SSH
ssh root@92.112.181.188

# Verificar servicios activos
docker ps

# Ver estado general
docker ps -a

Verificación de Conectividad

# 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

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)

# 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

# Listar contenedores activos
docker ps

# Listar todos (incluyendo parados)
docker ps -a

# Ver tamaño de contenedores
docker ps --size

Ver Logs

# 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

# 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

# Ver CPU, memoria, red
docker stats

# Salida formateada
docker stats --no-stream

Inspeccionar Contenedor

# 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

# 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

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

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

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

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

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

# 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

# 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

# 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

# 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

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