- Added comprehensive infrastructure overview - Server documentation: ARCHITECT, DECK, CORP, HST - Service documentation: Odoo, Directus, Context Manager - Includes configuration, monitoring, and backup procedures
5.4 KiB
5.4 KiB
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
/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
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
pg_dump -h 69.62.126.110 -U architect directus_db > directus_db_backup.sql
Restaurar
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:
# 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:
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
# Estado
systemctl status directus
# Reiniciar
systemctl restart directus
# Logs
tail -f /var/log/directus/directus.log
Actualización
# 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
# Instalar extensión
cd /opt/directus && npm install extension-name
# Reiniciar para aplicar
systemctl restart directus
Backup y Recuperación
Backup Completo
# 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
# 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
psql -h 69.62.126.110 -U architect -d directus_db
Logs
tail -n 200 /var/log/directus/directus.log
Limpiar cache
systemctl stop directus
rm -rf /opt/directus/.cache
systemctl start directus
Regenerar claves de seguridad
cd /opt/directus
npm run cli secrets list
npm run cli secrets generate
Casos de Uso
-
CMS para Sitio Web
- Colecciones: Páginas, Artículos, Categorías
- Roles: Administrador, Editor, Revisor
-
Gestión de Productos
- Colecciones: Productos, Categorías, Atributos
- Archivos: Imágenes de producto
-
Blog
- Colecciones: Artículos, Categorías, Comentarios
- Webhooks: Notificación de nuevos artículos
-
Portal de Clientes
- Roles por cliente
- Acceso granular a datos
- API para aplicación frontend
Últimas Actualizaciones
- 2025-12-30: Documentación inicial