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:
296
services/context-manager.md
Normal file
296
services/context-manager.md
Normal 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
268
services/directus.md
Normal 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
197
services/odoo.md
Normal 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
|
||||
Reference in New Issue
Block a user