Directus con PostgreSQL
CMS headless Directus — cableado a PostgreSQL out of the box.
Directus (el CMS headless open-source y plataforma de datos) emparejado con un backend PostgreSQL dedicado en un stack Pier. Env vars pre-cableadas, volúmenes persistentes, listo para equipos de contenido multi-usuario de producción o cualquier caso donde SQLite ya no sea suficiente.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Directus with PostgreSQL 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 con PostgreSQL?
Directus es un CMS headless open-source y plataforma de datos que envuelve cualquier base de datos SQL en una UI admin hermosa más APIs REST y GraphQL auto-generadas. Esta plantilla envía Directus con un backend PostgreSQL dedicado — la base de datos production-recomendada — pre-cableado en un stack Pier.
Inicias sesión en Directus y defines colecciones (que se vuelven tablas Postgres), agregas campos (columnas), cableas relaciones, configuras roles y permisos. Todo se refleja en SQL plano, consultable desde cualquier cliente PostgreSQL. Los endpoints REST/GraphQL se actualizan automáticamente mientras tu esquema evoluciona.
Casos de uso — backend headless para sitio web/app, CMS editorial multi-usuario, UI admin encima de DB Postgres de aplicación existente, o backend layer de un SaaS MVP.
Cómo lo despliega Pier
Pier usa la imagen oficial directus/directus más postgres:17-alpine.
Puertos por defecto — Directus en 8055 internamente (detrás de Traefik),
Postgres en la red Docker interna.
Volúmenes persistentes — uploads Directus en /directus/uploads,
extensiones en /directus/extensions, más /var/lib/postgresql/data para
Postgres.
Usuario admin de primer launch se crea vía env vars (Pier genera password fuerte). Inicia sesión en la URL pública y empieza a definir colecciones.
Para HTTPS, adjunta un dominio custom en Pier — Traefik maneja TLS.
Cuándo NO usar esta plantilla
Para un blog de un editor o desarrollo, la plantilla standalone Directus (SQLite) es más simple. Para una plataforma de internal tools non-CMS con workflows y plugins, NocoBase (este catálogo) queda mejor. Para un backend full-stack “PostgreSQL + auth + storage + edge functions”, mira Supabase. Directus es la respuesta correcta para “CMS headless / plataforma de datos en SQL con UI admin genial.”
Características clave
Directus production-ready
Directus completo — modelado de datos visual, REST + GraphQL APIs, RBAC, flows (automaciones), webhooks, file upload — respaldado por PostgreSQL para workloads concurrentes multi-usuario.
Config DB pre-cableado
Pier configura DB_CLIENT=pg, DB_HOST/DATABASE/USER/PASSWORD env vars. Directus arranca directo en Postgres en el primer launch.
Modelado de datos SQL-first
Directus envuelve tu esquema SQL existente (o uno que aprovisiona) en una UI hermosa. La DB queda como PostgreSQL normal — consúltala desde cualquier lugar.
REST + GraphQL out of the box
Cada colección expone automáticamente endpoints REST y GraphQL. Auth vía JWT, OAuth2/OIDC o static tokens.
Flows (automaciones)
Workflow builder visual para webhook handling, scheduled jobs, transformaciones de datos. Como n8n dentro de tu CMS.
UI admin hermosa
Dashboards, vistas tabla, formularios edit, librería de archivos, historial de versiones. Entre las UI admin de CMS más bellas disponibles.
Casos de uso
Equipo de contenido multi-usuario
Editores, revisores, traductores en dashboards concurrentemente — Postgres maneja writes concurrentes que SQLite no puede.
Backend headless para web + móvil
Una sola instancia Directus alimentando tu sitio Next.js/Astro/Vue más apps iOS/Android vía REST o GraphQL.
Admin interno en Postgres existente
Apunta Directus a una DB Postgres de app existente — UI admin instantánea para tablas que ya tienes.
Backend para MVPs SaaS
REST/GraphQL/auth/RBAC/file-upload/automaciones — Directus reemplaza 80% de un backend hecho a mano para SaaS early-stage.
CMS i18n
Interfaces de traducción, campos locale-aware, version control de contenido para sitios multi-lenguaje.
Ejemplos de código
Data Model → Create Collection → "posts"
Agregar campos -
- title (text)
- body (rich text)
- status (dropdown - draft/published)
- cover (file)
- author (m2o → directus_users)
- tags (m2m → tags)
Save — endpoints REST/GraphQL auto-generados curl https://cms.example.com/items/posts?filter[status][_eq]=published&fields=*.* \
-H "Authorization: Bearer $TOKEN" query {
posts(filter: { status: { _eq: "published" } }) {
id
title
body
cover { id filename_download }
author { first_name last_name }
}
} Flow trigger - "Action — items.update on posts"
→ Operation - "Send Webhook"
URL - https://my-site.example.com/revalidate
Method - POST
Body - { "slug": "{{ $trigger.payload.slug }}" } Comparativa
| vs Directus con SQLite (default standalone) | SQLite Directus está bien para un editor o desarrollo. Postgres es requerido para equipos contenido multi-usuario y cualquier carga producción. |
| vs Strapi | Strapi es JavaScript-first, plugin-rich, pero más pesado y SQLite-default. Directus es database-agnostic, envuelve tu esquema existente, y la UI admin es más pulida. |
| vs Supabase (este catálogo) | Supabase es "PostgreSQL + auth + storage + edge functions para backends de app". Directus es "PostgreSQL + UI admin + workflows de contenido para casos CMS". Sweet spots diferentes; ambos construyen en Postgres. |
| vs Sanity / Contentful | SaaS-only, pay-per-use. Directus es autohospedado, gratis, posees los datos y la DB. |
| vs NocoBase | NocoBase es no-code-first con extensibilidad plugin. Directus es admin-UI-on-SQL-first. Elige por uso primario. |
Preguntas frecuentes
¿Por qué PostgreSQL sobre SQLite?
¿Puedo migrar de SQLite Directus?
¿Puede envolver un Postgres existente?
¿Auth / SSO?
¿Uploads de archivos — adónde van?
¿Performance con muchas colecciones?
¿Estrategia de backup?
Servicios relacionados
Desplegar en tu VPS
Directus (el CMS headless open-source y plataforma de datos) emparejado con un backend PostgreSQL dedicado en un stack Pier. Env vars pre-cableadas, volúmenes persistentes, listo para equipos de contenido multi-usuario de producción o cualquier caso donde SQLite ya no sea suficiente.
Desplegar este servicio →