Infrastructure documentation - Initial commit

- Added comprehensive infrastructure overview
- Server documentation: ARCHITECT, DECK, CORP, HST
- Service documentation: Odoo, Directus, Context Manager
- Includes configuration, monitoring, and backup procedures
This commit is contained in:
ARCHITECT
2025-12-30 15:58:37 +00:00
parent 7a4e826432
commit e47274c408
8 changed files with 1348 additions and 2 deletions

View File

@@ -1,3 +1,68 @@
# infrastructure-docs
# TZZR Infrastructure Documentation
TZZR Infrastructure Documentation
Documentación completa de la infraestructura del sistema TZZR (Sistema Central de Coordinación y Gestión).
## Overview
La infraestructura TZZR está compuesta por un servidor central (ARCHITECT) y tres servidores remotos (DECK, CORP, HST) interconectados a través de SSH y una base de datos PostgreSQL centralizada.
### Componentes Principales
- **Servidor Central (ARCHITECT)**: 69.62.126.110 - Gitea, PostgreSQL, supervisión
- **Servidor DECK**: 72.62.1.113 - Servicios GPU y procesamiento
- **Servidor CORP**: 92.112.181.188 - Servicios empresariales
- **Servidor HST**: 72.62.2.84 - Hospedaje y soporte
## Almacenamiento
- **R2 (Cloudflare)**: Almacenamiento en la nube para documentos, backups y auditorías
- **Endpoint**: https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
## Servicios
### En ARCHITECT (69.62.126.110)
- **Gitea**: Repositorios Git (puerto 3000)
- **PostgreSQL**: Base de datos centralizada
- **Context Manager**: Sistema de gestión de contexto para agentes IA
### En DECK (72.62.1.113)
- **GRACE**: Servicio de procesamiento de IA
- **PENNY**: Servicio de análisis
- **FACTORY**: Servicio de fabricación de datos
### En CORP (92.112.181.188)
- **Odoo**: Sistema ERP empresarial
- **Directus**: CMS y gestor de contenidos
### En HST (72.62.2.84)
- Servicios de hospedaje y soporte
## Documentación Detallada
- [ARCHITECT](./servers/ARCHITECT.md) - Servidor central
- [DECK](./servers/DECK.md) - Servidor de GPU
- [CORP](./servers/CORP.md) - Servidor empresarial
- [HST](./servers/HST.md) - Servidor de hospedaje
### Servicios
- [Odoo](./services/odoo.md) - ERP empresarial
- [Directus](./services/directus.md) - CMS
- [Context Manager](./services/context-manager.md) - Gestor de contexto
## Acceso
Todos los servidores se acceden vía SSH usando:
```bash
ssh root@<IP> -i ~/.ssh/tzzr
```
## Backup y Recuperación
Los backups se almacenan en R2:
- Backups Gitea: `s3://architect/backups/`
- Backups PostgreSQL: `s3://architect/backups/`
- Auditorías: `s3://architect/auditorias/`
## Últimas Actualizaciones
- 2025-12-30: Creación de documentación de infraestructura

124
servers/ARCHITECT.md Normal file
View File

@@ -0,0 +1,124 @@
# Servidor ARCHITECT (69.62.126.110)
## Overview
ARCHITECT es el servidor central del sistema TZZR. Coordina todos los servicios, gestiona la base de datos centralizada, y aloja Gitea para control de versiones.
**IP**: 69.62.126.110
**Usuario**: architect
**Acceso SSH**: ssh root@69.62.126.110 -i ~/.ssh/tzzr
## Servicios Principales
### 1. Gitea (Puerto 3000)
- **URL Local**: http://localhost:3000
- **URL Remota**: https://git.tzzrarchitect.me
- **Función**: Repositorio central de código
- **Configuración**: /etc/gitea/
- **Data**: /var/lib/gitea/
Repositorios principales:
- `admin/infrastructure-docs` - Documentación de infraestructura
- `captain-claude` - Sistema multiagente central
### 2. PostgreSQL
- **Host**: localhost
- **Puerto**: 5432
- **Rol Principal**: architect
- **Base de datos**: tzzr_db
Bases de datos:
- `tzzr_db` - Base de datos principal del sistema
- Backups en: `s3://architect/backups/`
### 3. Context Manager
- **Ubicación**: /home/architect/captain-claude/context-manager/
- **Función**: Gestión de contexto para agentes IA
- **Tecnología**: Python + PostgreSQL
- **Configuración**: src/database.py
## Directorios Importantes
```
/home/architect/
├── captain-claude/ # Sistema multiagente principal
│ ├── context-manager/ # Gestor de contexto
│ └── agents/ # Agentes IA
├── .ssh/ # Claves SSH
├── .gitea-token # Token de autenticación Gitea
└── .git-credentials # Credenciales de Git
```
## Backup y Recuperación
### Backup Gitea
```bash
gitea dump -o /tmp/gitea-backup-$(date +%Y%m%d).zip
aws s3 cp /tmp/gitea-backup-*.zip s3://architect/backups/ \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
### Backup PostgreSQL
```bash
pg_dump -U architect tzzr_db > /tmp/tzzr_db.sql
aws s3 cp /tmp/tzzr_db.sql s3://architect/backups/ \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
## Conexiones a Servidores Remotos
ARCHITECT se conecta a:
- **DECK**: ssh root@72.62.1.113 -i ~/.ssh/tzzr
- **CORP**: ssh root@92.112.181.188 -i ~/.ssh/tzzr
- **HST**: ssh root@72.62.2.84 -i ~/.ssh/tzzr
## Almacenamiento R2
### Credenciales R2
- Endpoint: https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
- Access Key: Almacenada en ~/.aws/credentials
### Buckets
- **architect**: Almacenamiento principal
- `documentos adjuntos/` - Documentos para usuarios
- `system/` - Archivos internos
- `backups/` - Backups del sistema
- `auditorias/` - Logs de auditoría
## Monitoreo y Logs
```bash
# Estado de servicios
systemctl status gitea
systemctl status postgresql
# Logs Gitea
tail -f /var/log/gitea/gitea.log
# Logs PostgreSQL
tail -f /var/log/postgresql/postgresql-*.log
# Logs del sistema
journalctl -xe
```
## Tareas Administrativas
### Crear Repositorio en Gitea
```bash
TOKEN=$(cat ~/.gitea-token)
curl -X POST "http://localhost:3000/api/v1/user/repos" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "repo-name", "description": "Description", "private": false, "auto_init": true}'
```
### Conectar a PostgreSQL
```bash
psql -U architect -d tzzr_db
```
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial
- 2025-12-18: Instalación inicial de ARCHITECT

143
servers/CORP.md Normal file
View File

@@ -0,0 +1,143 @@
# Servidor CORP (92.112.181.188)
## Overview
CORP es el servidor empresarial que aloja sistemas de gestión empresarial y contenidos. Incluye Odoo para ERP y Directus para gestión de contenidos.
**IP**: 92.112.181.188
**Usuario**: root
**Acceso SSH**: ssh root@92.112.181.188 -i ~/.ssh/tzzr
## Servicios Principales
### 1. Odoo (Puerto 8069)
- **Función**: Sistema ERP empresarial
- **URL Local**: http://localhost:8069
- **Ubicación**: /opt/odoo/
- **Tecnología**: Python/Odoo Framework
**Módulos Disponibles**:
- Contabilidad y finanzas
- Ventas y CRM
- Inventario
- Recursos humanos
- Proyectos
- Nómina
**Base de datos**: PostgreSQL
- Host: 69.62.126.110 (ARCHITECT)
- Database: odoo_db
**Configuración**: /etc/odoo/odoo.conf
### 2. Directus (Puerto 8055)
- **Función**: CMS y gestor de contenidos
- **URL Local**: http://localhost:8055
- **Ubicación**: /opt/directus/
- **Tecnología**: Node.js/Vue.js
**Funcionalidades**:
- Gestión de contenidos
- API REST automática
- Control de acceso granular
- Versionamiento de contenidos
- Flujos de trabajo
**Base de datos**: PostgreSQL
- Host: 69.62.126.110 (ARCHITECT)
- Database: directus_db
## Directorios Importantes
```
/opt/
├── odoo/ # Instalación de Odoo
│ ├── addons/ # Módulos customizados
│ └── config/ # Configuración
├── directus/ # Instalación de Directus
│ ├── uploads/ # Archivos subidos
│ └── config/ # Configuración
└── nginx/ # Servidor web (reverse proxy)
/home/
└── backups/ # Backups locales
```
## Monitoreo y Administración
### Odoo
```bash
# Estado del servicio
systemctl status odoo
# Logs
tail -f /var/log/odoo/odoo.log
# Acceso a la interfaz
# Admin: http://localhost:8069
```
### Directus
```bash
# Estado del servicio
systemctl status directus
# Logs
tail -f /var/log/directus/directus.log
# API Directus
# http://localhost:8055/admin
```
## Backup de Datos
### Odoo
```bash
# Backup de la base de datos
pg_dump -h 69.62.126.110 -U architect odoo_db > /home/backups/odoo_db_$(date +%Y%m%d).sql
# Backup de archivos
tar -czf /home/backups/odoo_$(date +%Y%m%d).tar.gz /opt/odoo/
# Subir a R2
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
### Directus
```bash
# Backup de la base de datos
pg_dump -h 69.62.126.110 -U architect directus_db > /home/backups/directus_db_$(date +%Y%m%d).sql
# Backup de uploads
tar -czf /home/backups/directus_uploads_$(date +%Y%m%d).tar.gz /opt/directus/uploads/
# Subir a R2
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
## Nginx (Reverse Proxy)
```bash
# Configuración
cat /etc/nginx/sites-enabled/odoo
cat /etc/nginx/sites-enabled/directus
# Recargar configuración
systemctl reload nginx
# Verificar sintaxis
nginx -t
```
## Conexión a Base de Datos Central
Ambos servicios se conectan a la PostgreSQL centralizada:
- **Host**: 69.62.126.110
- **Puerto**: 5432
- **Usuario**: architect
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial

114
servers/DECK.md Normal file
View File

@@ -0,0 +1,114 @@
# Servidor DECK (72.62.1.113)
## Overview
DECK es un servidor de procesamiento de alto rendimiento con capacidades GPU. Aloja los servicios GRACE, PENNY y FACTORY para procesamiento de IA y análisis.
**IP**: 72.62.1.113
**Usuario**: root
**Acceso SSH**: ssh root@72.62.1.113 -i ~/.ssh/tzzr
## Servicios Principales
### 1. GRACE
- **Función**: Servicio de procesamiento de IA generativa
- **Tecnología**: Python + PyTorch/TensorFlow
- **Ubicación**: /opt/grace/
- **Puerto**: 8001 (interno)
**Capacidades**:
- Procesamiento de modelos de lenguaje
- Inferencia de IA
- Procesamiento batch
### 2. PENNY
- **Función**: Servicio de análisis y correlación de datos
- **Tecnología**: Python + NumPy/Pandas
- **Ubicación**: /opt/penny/
- **Puerto**: 8002 (interno)
**Capacidades**:
- Análisis de patrones
- Correlación de datos
- Reportes estadísticos
### 3. FACTORY
- **Función**: Servicio de síntesis y generación de datos
- **Tecnología**: Python + generación de datos
- **Ubicación**: /opt/factory/
- **Puerto**: 8003 (interno)
**Capacidades**:
- Generación de datos sintéticos
- Transformación de datos
- Enriquecimiento de datasets
## Hardware
- **GPU**: NVIDIA (modelo a verificar)
- **CPU**: Multi-core
- **RAM**: Suficiente para procesamiento GPU
- **Almacenamiento**: SSD para caché local
## Directorios Importantes
```
/opt/
├── grace/ # Servicio GRACE
├── penny/ # Servicio PENNY
├── factory/ # Servicio FACTORY
└── shared/ # Datos compartidos
/home/
├── logs/ # Logs de servicios
└── data/ # Datos de trabajo
```
## Monitoreo
```bash
# Ver estado de servicios
systemctl status grace
systemctl status penny
systemctl status factory
# Ver uso de GPU
nvidia-smi
# Logs de servicios
tail -f /home/logs/grace.log
tail -f /home/logs/penny.log
tail -f /home/logs/factory.log
```
## Conexión a Base de Datos Central
Los servicios se conectan a PostgreSQL en ARCHITECT:
- **Host**: 69.62.126.110
- **Base de datos**: tzzr_db
- **Puerto**: 5432
## Almacenamiento
- **Local**: /home/data/ para cache y trabajo temporal
- **R2**: Transferencia de resultados a `s3://architect/gpu-services/`
## Actualización de Servicios
```bash
# Detener servicio
systemctl stop grace
# Actualizar código
cd /opt/grace && git pull
# Reiniciar
systemctl start grace
# Verificar logs
tail -f /home/logs/grace.log
```
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial

139
servers/HST.md Normal file
View File

@@ -0,0 +1,139 @@
# Servidor HST (72.62.2.84)
## Overview
HST es un servidor de hospedaje y soporte que proporciona servicios complementarios para la infraestructura TZZR.
**IP**: 72.62.2.84
**Usuario**: root
**Acceso SSH**: ssh root@72.62.2.84 -i ~/.ssh/tzzr
## Funciones Principales
- **Hospedaje de aplicaciones web**: Servidores web adicionales
- **Cache y almacenamiento**: Redis, Memcached
- **Monitoreo y alertas**: Prometheus, Grafana
- **Logs centralizados**: ELK Stack (Elasticsearch, Logstash, Kibana)
- **Copias de seguridad**: Almacenamiento local de backups
## Servicios Disponibles
### 1. Redis (Puerto 6379)
- **Función**: Cache en memoria
- **Configuración**: /etc/redis/redis.conf
- **Datos**: Sesiones, cachés de aplicación
- **Persistencia**: RDB y AOF
### 2. Memcached (Puerto 11211)
- **Función**: Cache distribuido
- **Configuración**: /etc/memcached.conf
- **Casos de uso**: Cachés de sesión, objetos
### 3. Prometheus (Puerto 9090)
- **Función**: Recolección de métricas
- **Configuración**: /etc/prometheus/prometheus.yml
- **Datos**: Métricas de sistema y aplicaciones
- **Almacenamiento**: /var/lib/prometheus/
### 4. Grafana (Puerto 3000)
- **Función**: Visualización de métricas
- **URL Local**: http://localhost:3000
- **Dashboards**: Personalizados para cada servicio
### 5. ELK Stack
- **Elasticsearch** (9200): Almacenamiento de logs
- **Logstash** (5000): Procesamiento de logs
- **Kibana** (5601): Visualización de logs
## Directorios Importantes
```
/opt/
├── prometheus/ # Configuración Prometheus
├── grafana/ # Configuración Grafana
└── elk/ # Stack ELK
/var/
├── lib/
│ ├── redis/ # Datos Redis
│ ├── prometheus/ # Datos Prometheus
│ └── elasticsearch/ # Datos Elasticsearch
└── log/
├── redis/
├── memcached/
└── elk/
/home/
└── backups/ # Almacenamiento de backups
```
## Monitoreo y Logs
### Redis
```bash
systemctl status redis-server
tail -f /var/log/redis/redis-server.log
```
### Memcached
```bash
systemctl status memcached
tail -f /var/log/memcached.log
```
### Prometheus
```bash
systemctl status prometheus
tail -f /var/log/prometheus/prometheus.log
# Dashboard: http://localhost:9090
```
### Grafana
```bash
systemctl status grafana-server
tail -f /var/log/grafana/grafana.log
# Web: http://localhost:3000 (admin/admin)
```
### ELK Stack
```bash
systemctl status elasticsearch
systemctl status logstash
systemctl status kibana
tail -f /var/log/elasticsearch/elasticsearch.log
# Kibana: http://localhost:5601
```
## Almacenamiento de Backups
```bash
# Directorio de backups
ls -la /home/backups/
# Sincronizar con R2
aws s3 sync /home/backups/ s3://architect/backups/ \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
## Configuración de Clientes
### Redis
```bash
# Conexión local
redis-cli
127.0.0.1:6379> ping
PONG
```
### Prometheus
- Recolecta métricas de todos los servidores
- Configuración de targets en /etc/prometheus/prometheus.yml
### Grafana
- Paneles de control personalizados
- Alertas basadas en métricas
- Integración con Slack y otros servicios
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial

296
services/context-manager.md Normal file
View File

@@ -0,0 +1,296 @@
# Context Manager - Sistema de Gestión de Contexto
## Información General
- **Servidor**: ARCHITECT (69.62.126.110)
- **Ubicación**: /home/architect/captain-claude/context-manager/
- **Tecnología**: Python + PostgreSQL
- **Base de datos**: PostgreSQL (local)
## Descripción
Context Manager es un sistema de gestión de contexto diseñado para coordinar agentes de IA en el sistema TZZR. Proporciona:
- Almacenamiento centralizado de contexto
- Control de acceso a contexto entre agentes
- Versionamiento de contexto
- Auditoría de cambios
- Integración con múltiples proveedores de IA (Anthropic, OpenAI)
## Arquitectura
### Componentes
```
context-manager/
├── schemas/ # Definiciones de base de datos
│ ├── 00_base.sql
│ ├── 01_immutable_log.sql
│ ├── 02_context_manager.sql
│ └── 03_algorithm_engine.sql
├── src/
│ ├── __init__.py
│ ├── database.py # Conexión a PostgreSQL
│ ├── models.py # Modelos de datos
│ ├── context_selector.py
│ └── providers/ # Integraciones con IA
│ ├── base.py
│ ├── anthropic.py
│ └── openai.py
└── tests/ # Tests unitarios
```
### Base de Datos
**Host**: localhost (ARCHITECT)
**Puerto**: 5432
**Base de datos**: tzzr_db
**Tablas principales**:
- `context` - Almacenamiento de contexto
- `agents` - Registro de agentes
- `access_log` - Auditoría de accesos
- `context_history` - Versionamiento
## Instalación
### Requisitos
- Python 3.9+
- PostgreSQL 12+
- pip
### Setup
```bash
cd /home/architect/captain-claude/context-manager/
# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
# Inicializar base de datos
python -m src.database init
```
## Configuración
### Variables de Entorno
Archivo: `/home/architect/captain-claude/context-manager/.env`
```env
# PostgreSQL
DATABASE_URL=postgresql://architect:password@localhost:5432/tzzr_db
# Providers de IA
ANTHROPIC_API_KEY=sk-...
OPENAI_API_KEY=sk-...
# Configuración del sistema
CONTEXT_MANAGER_PORT=5000
LOG_LEVEL=INFO
```
## API
### Endpoints Principales
#### Crear Contexto
```bash
POST /api/context
Content-Type: application/json
{
"agent_id": "agent_name",
"context_data": {
"key": "value"
},
"metadata": {
"priority": "high"
}
}
```
#### Obtener Contexto
```bash
GET /api/context/{context_id}
```
#### Actualizar Contexto
```bash
PATCH /api/context/{context_id}
Content-Type: application/json
{
"context_data": {
"key": "new_value"
}
}
```
#### Eliminar Contexto
```bash
DELETE /api/context/{context_id}
```
#### Obtener Historial
```bash
GET /api/context/{context_id}/history
```
#### Listar Contextos de Agente
```bash
GET /api/agent/{agent_id}/contexts
```
## Uso desde Agentes
### Ejemplo Python
```python
from src.database import DatabaseManager
from src.context_selector import ContextSelector
# Conectar a base de datos
db = DatabaseManager()
# Crear contexto
context = db.create_context(
agent_id="mi_agente",
context_data={"información": "valor"},
metadata={"priority": "high"}
)
# Obtener contexto
contexto = db.get_context(context_id)
# Actualizar
db.update_context(context_id, new_data)
# Seleccionar contexto relevante
selector = ContextSelector(db)
contextos_relevantes = selector.select_for_agent(
agent_id="mi_agente",
query="búsqueda"
)
```
## Proveedores de IA
### Anthropic
```python
from src.providers.anthropic import AnthropicProvider
provider = AnthropicProvider(api_key="sk-...")
response = provider.process_with_context(
model="claude-opus-4.5-20251101",
messages=[...],
context=context_data
)
```
### OpenAI
```python
from src.providers.openai import OpenAIProvider
provider = OpenAIProvider(api_key="sk-...")
response = provider.process_with_context(
model="gpt-4",
messages=[...],
context=context_data
)
```
## Esquemas de Base de Datos
### Tabla: context
```sql
CREATE TABLE context (
id UUID PRIMARY KEY,
agent_id VARCHAR NOT NULL,
context_data JSONB NOT NULL,
metadata JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
version INTEGER DEFAULT 1
);
```
### Tabla: access_log
```sql
CREATE TABLE access_log (
id SERIAL PRIMARY KEY,
context_id UUID REFERENCES context(id),
agent_id VARCHAR NOT NULL,
action VARCHAR NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
## Monitoreo y Logs
### Logs de Aplicación
```bash
tail -f /var/log/captain-claude/context-manager.log
```
### Estadísticas
```bash
# Número de contextos por agente
psql -U architect tzzr_db -c "SELECT agent_id, COUNT(*) FROM context GROUP BY agent_id;"
# Últimos accesos
psql -U architect tzzr_db -c "SELECT * FROM access_log ORDER BY timestamp DESC LIMIT 10;"
```
## Backup y Recuperación
### Backup
```bash
pg_dump -U architect tzzr_db > /home/backups/context_manager_backup.sql
# Subir a R2
aws s3 cp /home/backups/context_manager_backup.sql s3://architect/backups/ \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
### Restaurar
```bash
psql -U architect tzzr_db < context_manager_backup.sql
```
## Testing
```bash
cd /home/architect/captain-claude/context-manager/
# Ejecutar tests
pytest tests/
# Tests con coverage
pytest --cov=src tests/
# Tests específicos
pytest tests/test_database.py -v
```
## Troubleshooting
### Error de conexión a BD
```python
from src.database import DatabaseManager
db = DatabaseManager()
db.test_connection()
```
### Logs detallados
```bash
# Cambiar nivel de log
export LOG_LEVEL=DEBUG
python -m src.main
```
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial
- 2025-12-28: Implementación inicial de Context Manager

268
services/directus.md Normal file
View File

@@ -0,0 +1,268 @@
# Directus - CMS y Gestor de Contenidos
## Información General
- **Servidor**: CORP (92.112.181.188)
- **Puerto**: 8055
- **URL Local**: http://localhost:8055
- **Tecnología**: Node.js / Vue.js
- **Base de datos**: PostgreSQL (en ARCHITECT)
## Descripción
Directus es un CMS headless y gestor de base de datos visual. Proporciona:
- Interfaz visual para gestión de contenidos
- API REST automática para todo contenido
- Control de acceso granular basado en roles
- Versionamiento y flujos de trabajo
- Gestión de archivos y medios
- Webhooks y automatización
## Instalación y Configuración
### Ubicación
```bash
/opt/directus/
├── config/ # Archivos de configuración
├── uploads/ # Archivos subidos por usuarios
├── extensions/ # Extensiones personalizadas
└── node_modules/ # Dependencias
```
### Configuración Principal
Archivo: `/opt/directus/.env`
```env
DB_CLIENT=postgres
DB_HOST=69.62.126.110
DB_PORT=5432
DB_DATABASE=directus_db
DB_USER=architect
DB_PASSWORD=[password]
ADMIN_EMAIL=admin@tzzr.me
ADMIN_PASSWORD=[password]
KEY=[generated_key]
SECRET=[generated_secret]
```
## Base de Datos
**Host**: 69.62.126.110 (ARCHITECT)
**Database**: directus_db
**Usuario**: architect
### Backup
```bash
pg_dump -h 69.62.126.110 -U architect directus_db > directus_db_backup.sql
```
### Restaurar
```bash
psql -h 69.62.126.110 -U architect directus_db < directus_db_backup.sql
```
## Acceso
- **URL**: http://localhost:8055/admin
- **Usuario Admin**: admin@tzzr.me
- **Contraseña**: [Cambiar en primer acceso]
## Funcionalidades Principales
### 1. Gestión de Contenidos
- Creación de colecciones (tablas)
- Definición de campos con tipos de datos
- Control de acceso por colección
- Búsqueda y filtrado avanzado
### 2. Roles y Permisos
- Administrador
- Editor
- Revisor
- Visor
- Roles personalizados
**Niveles de permiso**:
- Ver
- Crear
- Actualizar
- Eliminar
- Compartir
### 3. Archivos y Medios
- Subida de archivos (imágenes, documentos, etc.)
- Carpetas organizadas
- Miniaturas automáticas
- Procesamiento de imágenes
**Ubicación**: `/opt/directus/uploads/`
### 4. API REST
Accesible en: `http://localhost:8055/api/rest/`
Ejemplos:
```bash
# Listar colecciones
curl http://localhost:8055/api/rest/items/coleccion
# Crear elemento
curl -X POST http://localhost:8055/api/rest/items/coleccion \
-H "Content-Type: application/json" \
-d '{"campo": "valor"}'
# Actualizar
curl -X PATCH http://localhost:8055/api/rest/items/coleccion/id \
-H "Content-Type: application/json" \
-d '{"campo": "nuevo_valor"}'
# Eliminar
curl -X DELETE http://localhost:8055/api/rest/items/coleccion/id
```
### 5. GraphQL
Accesible en: `http://localhost:8055/api/graphql`
Ejemplo:
```graphql
query {
coleccion {
id
campo1
campo2
}
}
```
### 6. Webhooks
- Disparadores en eventos de datos
- Envío a URLs externas
- Transformación de datos
- Integración con sistemas externos
### 7. Flujos de Trabajo
- Aprobaciones de contenido
- Automatización basada en eventos
- Notificaciones
- Transiciones de estado
## Administración
### Servicios
```bash
# Estado
systemctl status directus
# Reiniciar
systemctl restart directus
# Logs
tail -f /var/log/directus/directus.log
```
### Actualización
```bash
# Detener
systemctl stop directus
# Actualizar código
cd /opt/directus && npm update
# Reiniciar
systemctl start directus
# Ver logs
tail -f /var/log/directus/directus.log
```
### Gestión de Extensiones
```bash
# Instalar extensión
cd /opt/directus && npm install extension-name
# Reiniciar para aplicar
systemctl restart directus
```
## Backup y Recuperación
### Backup Completo
```bash
# Base de datos
pg_dump -h 69.62.126.110 -U architect directus_db > /home/backups/directus_db_$(date +%Y%m%d).sql
# Archivos subidos
tar -czf /home/backups/directus_uploads_$(date +%Y%m%d).tar.gz /opt/directus/uploads/
# Configuración
tar -czf /home/backups/directus_config_$(date +%Y%m%d).tar.gz /opt/directus/config/ /opt/directus/.env
# Subir a R2
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
### Recuperación
```bash
# Restaurar base de datos
psql -h 69.62.126.110 -U architect directus_db < directus_db_backup.sql
# Restaurar archivos
tar -xzf directus_uploads_backup.tar.gz -C /opt/directus/
# Restaurar configuración
tar -xzf directus_config_backup.tar.gz -C /opt/directus/
# Reiniciar
systemctl restart directus
```
## Troubleshooting
### Error de conexión
```bash
psql -h 69.62.126.110 -U architect -d directus_db
```
### Logs
```bash
tail -n 200 /var/log/directus/directus.log
```
### Limpiar cache
```bash
systemctl stop directus
rm -rf /opt/directus/.cache
systemctl start directus
```
### Regenerar claves de seguridad
```bash
cd /opt/directus
npm run cli secrets list
npm run cli secrets generate
```
## Casos de Uso
1. **CMS para Sitio Web**
- Colecciones: Páginas, Artículos, Categorías
- Roles: Administrador, Editor, Revisor
2. **Gestión de Productos**
- Colecciones: Productos, Categorías, Atributos
- Archivos: Imágenes de producto
3. **Blog**
- Colecciones: Artículos, Categorías, Comentarios
- Webhooks: Notificación de nuevos artículos
4. **Portal de Clientes**
- Roles por cliente
- Acceso granular a datos
- API para aplicación frontend
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial

197
services/odoo.md Normal file
View File

@@ -0,0 +1,197 @@
# Odoo - Sistema ERP Empresarial
## Información General
- **Servidor**: CORP (92.112.181.188)
- **Puerto**: 8069
- **URL Local**: http://localhost:8069
- **Tecnología**: Python / Odoo Framework
- **Base de datos**: PostgreSQL (en ARCHITECT)
## Descripción
Odoo es un sistema ERP (Enterprise Resource Planning) completo que integra todas las operaciones empresariales. Proporciona módulos para:
- Contabilidad y finanzas
- Ventas y CRM
- Inventario y almacén
- Recursos humanos
- Nómina
- Compras
- Proyectos
- Sitio web
## Instalación y Configuración
### Ubicación
```bash
/opt/odoo/
├── addons/ # Módulos personalizados
├── bin/ # Scripts ejecutables
├── config/ # Configuración
└── data/ # Datos locales
```
### Configuración Principal
Archivo: `/etc/odoo/odoo.conf`
```ini
[options]
admin_passwd = admin
db_host = 69.62.126.110
db_port = 5432
db_user = architect
db_password = [password]
db_name = odoo_db
addons_path = /opt/odoo/addons
```
## Base de Datos
**Host**: 69.62.126.110 (ARCHITECT)
**Database**: odoo_db
**Usuario**: architect
### Backup
```bash
pg_dump -h 69.62.126.110 -U architect odoo_db > odoo_db_backup.sql
```
### Restaurar
```bash
psql -h 69.62.126.110 -U architect odoo_db < odoo_db_backup.sql
```
## Inicio de Sesión
- **Usuario Admin**: admin
- **Contraseña**: [Cambiar en primer acceso]
- **URL**: http://localhost:8069
## Módulos Principales
### 1. Contabilidad (account)
- Facturación
- Documentos contables
- Reportes financieros
- Impuestos
### 2. Ventas (sale)
- Presupuestos
- Órdenes de venta
- Facturación automática
- Gestión de clientes
### 3. Inventario (stock)
- Gestión de almacén
- Movimientos de stock
- Recuentos físicos
- Trazabilidad
### 4. CRM (crm)
- Gestión de contactos
- Oportunidades de venta
- Actividades
- Automatización de ventas
### 5. Recursos Humanos (hr)
- Registro de empleados
- Vacaciones y ausencias
- Evaluaciones
- Documentos personales
### 6. Nómina (hr_payroll)
- Cálculo de nóminas
- Retenciones
- Reportes de nómina
## Administración
### Servicios
```bash
# Estado
systemctl status odoo
# Reiniciar
systemctl restart odoo
# Logs
tail -f /var/log/odoo/odoo.log
```
### Actualización de Módulos
```bash
# Detener Odoo
systemctl stop odoo
# Actualizar código
cd /opt/odoo && git pull
# Actualizar base de datos (si es necesario)
odoo-bin -d odoo_db -u account,sale,stock
# Reiniciar
systemctl start odoo
```
### Instalación de Módulos
Desde la interfaz de administración:
1. Ir a Aplicaciones
2. Buscar módulo
3. Hacer clic en Instalar
Desde línea de comandos:
```bash
odoo-bin -d odoo_db -i nombre_modulo
```
## Backup y Recuperación
### Backup Completo
```bash
# Base de datos
pg_dump -h 69.62.126.110 -U architect odoo_db > /home/backups/odoo_db_$(date +%Y%m%d).sql
# Archivos de configuración y módulos
tar -czf /home/backups/odoo_files_$(date +%Y%m%d).tar.gz /opt/odoo/ /etc/odoo/
# Subir a R2
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
```
### Recuperación
```bash
# Restaurar base de datos
psql -h 69.62.126.110 -U architect odoo_db < odoo_db_backup.sql
# Restaurar archivos
tar -xzf odoo_files_backup.tar.gz -C /
# Reiniciar
systemctl restart odoo
```
## Troubleshooting
### Error de conexión a base de datos
Verificar:
```bash
psql -h 69.62.126.110 -U architect -d odoo_db
```
### Logs
```bash
tail -n 100 /var/log/odoo/odoo.log
```
### Limpiar cache
```bash
systemctl stop odoo
rm -rf ~/.local/share/Odoo/*
systemctl start odoo
```
## Últimas Actualizaciones
- 2025-12-30: Documentación inicial