Files
infrastructure-docs/services/directus.md
ARCHITECT e47274c408 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
2025-12-30 15:58:37 +00:00

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

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

  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