Por qué autoalojar Directus en un VPS
Directus se conecta a su base de datos existente (PostgreSQL, MySQL, SQLite, MariaDB) sin imponer su propio esquema: introspecciona sus tablas y genera la API y la interfaz de administración por encima. Al autoalojarlo en un VPS, evita las tarifas por usuario de la oferta Cloud oficial y mantiene sus contenidos, sus medios y su base SQL en su propia infraestructura. Es una decisión estructurante para las agencias que entregan varios sitios: un único Directus puede servir de trastienda a varios front-ends (Nuxt, Next, móvil). El control de la base, de las extensiones y de los webhooks le permite integrar Directus en cualquier pipeline de datos sin depender de un proveedor externo, sin que ningún servicio de terceros se interponga entre sus front-ends y sus datos.
Las ventajas concretas del self-hosting de Directus
- API REST y GraphQL generadas automáticamente a partir de su esquema SQL, sin escribir código.
- Interfaz de administración no-code para modelar el contenido y gestionar los roles y los permisos granulares.
- Compatible con una base SQL existente: puede exponerla sin migrarla ni desnaturalizarla.
- Gestión de medios, transformaciones de imágenes al vuelo y almacenamiento local o S3, a su elección.
- Flows y webhooks integrados para automatizar procesos (notificaciones, sincronizaciones).
- Mutualización: un solo VPS con Directus puede alimentar varios sitios y aplicaciones front-end.
Requisitos de hardware y software
Directus es una aplicación Node.js que se apoya en una base de datos externa. Cuente con 2 GB de RAM como mínimo para ejecutar cómodamente Directus y PostgreSQL en el mismo VPS; se recomiendan 4 GB en producción, con transformaciones de imágenes y varios administradores simultáneos. Uno o dos vCPU bastan para empezar. Prevea una caché Redis (opcional, pero aconsejable para las sesiones y el rate limiting) y un volumen de 30 a 60 GB SSD según su biblioteca de medios. Necesitará Docker y Docker Compose, un dominio que apunte al VPS y una clave secreta robusta para SECRET y el hash de los tokens. Postgres sigue siendo la base recomendada para las funcionalidades avanzadas.
Desplegar Directus paso a paso
Aprovisionar el VPS y Docker
Tras conectarse por SSH, instale Docker y Docker Compose. Cree un registro DNS A para
cms.mondomaine.comhacia la IP del VPS. Abra únicamente los puertos 80 y 443 en el firewall (ufw allow 80,443/tcp).Definir el stack en docker-compose.yml
Declare tres servicios:
database(imagenpostgres:16con un volumen persistente),cache(redis) ydirectus(directus/directus). Conecte Directus a Postgres mediante las variablesDB_CLIENT=pg,DB_HOST=database,DB_DATABASE,DB_USER,DB_PASSWORD.Configurar las variables de entorno
Rellene
KEYySECRETcon cadenas aleatorias (openssl rand -hex 32), definaADMIN_EMAILyADMIN_PASSWORDpara la primera cuenta, yPUBLIC_URL=https://cms.mondomaine.compara que los enlaces y las subidas sean correctos.Arrancar e inicializar la base de datos
Ejecute
docker compose up -d. En el primer arranque, Directus crea automáticamente las tablas del sistema y la cuenta de administrador. Siga la inicialización condocker compose logs -f directus.Conectar el reverse proxy y el TLS
Coloque Caddy o Traefik delante de Directus para gestionar Let's Encrypt. Con Traefik, añada las etiquetas de enrutado en el servicio
directusy el certresolver ACME. Compruebe quePUBLIC_URLcoincide exactamente con el dominio HTTPS para evitar problemas de CORS y de subidas.Proteger y respaldar
Restrinja los orígenes CORS a los dominios de sus front-ends, desactive el registro público si no le sirve y, después, programe un
pg_dumpdiario más una copia de la carpetauploadshacia un almacenamiento remoto.
Para servir las imágenes con buen rendimiento, active el almacenamiento de los medios en un bucket compatible con S3 en lugar del disco local, y cachee las transformaciones de imágenes (ASSETS_CACHE_TTL). Junto a un CDN delante de Directus, esto descarga al VPS de las peticiones de medios y acelera el renderizado de los front-ends. Piense también en limitar el tamaño de las transformaciones permitidas mediante ASSETS_TRANSFORM_MAX_OPERATIONS para evitar los abusos de generación de imágenes al vuelo.
Despliegue de Directus en un clic en ServOrbit
Directus está disponible directamente desde el Marketplace de ServOrbit. Seleccione la aplicación al pedir su VPS: Docker viene preinstalado, el contenedor Directus arranca automáticamente y sus credenciales de administrador ([email protected] más contraseña generada) se muestran en su área de cliente. Acceda al panel de administración mediante un túnel SSH o vinculando un dominio desde su panel de control — sin instalar Docker ni editar un archivo Compose a mano.