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:
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
|
||||
Reference in New Issue
Block a user