Directus
El CMS headless y plataforma de datos para cualquier base de datos SQL.
Directus es un CMS headless open-source moderno que envuelve tu base de datos SQL existente (PostgreSQL, MySQL, SQLite, MSSQL, OracleDB) con una UI admin bonita, APIs REST + GraphQL instantáneas, permisos granulares, gestión de assets, flows (workflows no-code) y webhooks. Tus datos quedan en SQL puro — sin modelos propietarios, sin lock-in.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Directus en la lista de plantillas.
- 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
- 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.
¿Qué es Directus?
Directus toma un ángulo distinto a la mayoría de CMSs headless: en lugar de
definir su propio modelo de datos y pedirte que migres a él, Directus
apunta a cualquier base de datos SQL existente, refleja el schema y te da
instantáneamente una UI admin pulida más APIs REST y GraphQL. Tus datos
quedan en PostgreSQL o MySQL puro — pg_dump funciona, el ORM de tu app
existente sigue consultándolos, y el día que dejes de usar Directus sigues
teniendo tus datos.
Más allá de CRUD y generación de API, Directus incluye gestión de assets con transformaciones de imagen, automatización de workflows no-code (Flows), permisos granulares (rol + colección + campo + fila), dashboards con insights e integración SSO con los principales proveedores de identidad. Se posiciona entre Strapi (CMS code-first) y Retool (constructor custom de herramientas internas) — pulido, opinionado, batteries-included.
Cómo lo despliega Pier
Pier ofrece dos plantillas: directus (contenedor único con SQLite, lo más
simple) y directus-postgresql (compose multi-contenedor con backend
PostgreSQL dedicado, production-ready). Ambas exponen el puerto 8055/tcp
internamente.
La URL admin de Directus se muestra en la página del servicio de Pier
junto con el email y la contraseña admin autogenerados. Para HTTPS, adjunta
un dominio — Traefik maneja el cert; la PUBLIC_URL de Directus se setea
automáticamente.
Para almacenamiento de assets, configura las env vars S3 vía los settings del servicio de Pier para empujar los uploads a MinIO, Backblaze, R2 o AWS S3.
Cuándo NO usar Directus
Para CMSs code-first donde quieres definir schemas en TypeScript y versionar todo en Git — Strapi o Payload pueden encajar mejor. Para generación pura de API sin admin UI — Hasura o PostgREST son más finos. Para “constrúyeme un dashboard interno custom con fuentes de datos mixtas” — Retool o Tooljet son más flexibles. Directus brilla cuando quieres el CMS, la API y el admin todos cableados alrededor de tu base SQL existente.
Características clave
Database-first
Apunta Directus a cualquier DB SQL existente; refleja el schema y te da instantáneamente UI + API. Sin migración de datos, sin gimnasia de ORM — tus tablas siguen siendo tuyas.
REST + GraphQL de fábrica
Cada tabla se convierte en endpoint REST y GraphQL con filtrado, sorting, pagination, joins, aggregations. Auth JWT y OAuth2, permisos granulares a nivel de campo.
UI admin bonita
Layouts custom por colección, relaciones M2M y M2A, campos condicionales, interfaces custom, dashboards con insights. Reemplaza Retool / Tooljet para internal tooling.
Flows (automatización no-code)
Constructor visual de workflows — escucha eventos (insert/update/delete), llama APIs, transforma datos, envía notificaciones. Automatizaciones estilo Zapier dentro de Directus.
Gestión de assets
Uploads de ficheros con transformaciones de imagen (resize, crop, format), carpetas, metadata, URLs firmadas. Backends S3, Google Cloud Storage, Azure Blob soportados.
Multi-tenant vía roles
Roles + permisos a nivel tabla, columna y fila. Permisos condicionales ("el usuario puede editar sus propios registros") vía expresiones de filtro.
Casos de uso
CMS headless para sites de marketing
Reemplaza Strapi, Contentful o Sanity. Los editores de contenido trabajan en el admin de Directus; tu site Next.js / Astro / Nuxt pulls vía REST/GraphQL.
Panel admin interno
Apunta Directus a la DB de tu app existente. Obtén un admin UI pulido en minutos — sin skills de React.
Plataforma de delivery de datos B2B
Expón subsets curados de tus datos a partners con permisos a nivel de fila. API-first; sin construir un portal custom.
Contenido multi-canal (omnichannel)
Mismo contenido surface a web, mobile apps, dispositivos IoT, asistentes de voz. Directus es la fuente canónica; los canales pulls lo que necesitan.
Backend de juego / servidor de configuración
Tweak balanceo de juego vía el admin UI, push a clientes vía REST. Usado por estudios indie para live-ops sin updates de app.
Ejemplos de código
curl -H "Authorization: Bearer $TOKEN" \
"https://directus.example.com/items/articles?filter[status][_eq]=published&limit=20&sort=-published_at" query {
articles(filter: { status: { _eq: "published" } }, limit: 20) {
id
title
slug
author { name avatar }
tags { name }
}
} import { createDirectus, rest, readItems } from "@directus/sdk";
const client = createDirectus("https://directus.example.com").with(rest());
const articles = await client.request(
readItems("articles", {
filter: { status: { _eq: "published" } },
limit: 20,
sort: ["-published_at"],
})
); {
"trigger": "filter",
"event": "articles.items.create",
"operations": [
{
"key": "webhook",
"type": "request",
"options": {
"method": "POST",
"url": "https://hooks.slack.com/services/...",
"body": "{\"text\": \"New article: {{ $trigger.title }}\"}"
}
}
]
} Comparativa
| vs Strapi | Strapi también es un CMS headless líder pero define su propio schema en código. Directus envuelve tu DB existente sin migraciones — elige Directus si ya tienes una base de datos, Strapi para proyectos greenfield code-first. |
| vs Contentful / Sanity | CMSs headless SaaS hosted. Bonitos pero caros. Directus es OSS, autohospedado, funcionalidad equivalente a una fracción del coste. |
| vs Hasura | Hasura genera GraphQL desde Postgres. Sin admin UI, sin flows, sin gestión de assets. Usa Hasura para API pura, Directus para "API + admin + automatización + assets" combo. |
| vs Retool / Tooljet | Retool es para construir herramientas internas custom. Directus es para el caso "dame un admin CRUD pulido sobre mi base de datos". Menos flexible, pero cero build. |
Preguntas frecuentes
¿Qué bases de datos soporta Directus?
¿Despliegue por defecto en Pier?
¿Cómo escalo los assets?
¿Licencia?
¿Interfaces custom?
¿SSO / OAuth?
¿HTTPS?
Servicios relacionados
Desplegar en tu VPS
Directus es un CMS headless open-source moderno que envuelve tu base de datos SQL existente (PostgreSQL, MySQL, SQLite, MSSQL, OracleDB) con una UI admin bonita, APIs REST + GraphQL instantáneas, permisos granulares, gestión de assets, flows (workflows no-code) y webhooks. Tus datos quedan en SQL puro — sin modelos propietarios, sin lock-in.
Desplegar este servicio →