Guía de despliegue

Alojar Directus en un VPS

Desplegar en un VPS Cloud →

Tutorial

Alojar Directus en un VPS

Bases de datos4 min de lectura6 pasos

Directus convierte cualquier base SQL en una API REST y GraphQL instantánea, con una interfaz de administración sin código por encima. Es un headless CMS y una data platform completa, perfecta para autoalojar en un VPS y pilotar el contenido de sus sitios y aplicaciones. Veamos cómo desplegarlo con PostgreSQL, Docker y un certificado SSL.

Contenido· Por qué autoalojar Directus en un VPS1/5
  1. 01Por qué autoalojar Directus en un VPS
  2. 02Las ventajas concretas del self-hosting de Directus
  3. 03Requisitos de hardware y software
  4. 04Desplegar Directus paso a paso
  5. 05Despliegue de Directus en un clic en ServOrbit

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

  1. Aprovisionar el VPS y Docker

    Tras conectarse por SSH, instale Docker y Docker Compose. Cree un registro DNS A para cms.mondomaine.com hacia la IP del VPS. Abra únicamente los puertos 80 y 443 en el firewall (ufw allow 80,443/tcp).

  2. Definir el stack en docker-compose.yml

    Declare tres servicios: database (imagen postgres:16 con un volumen persistente), cache (redis) y directus (directus/directus). Conecte Directus a Postgres mediante las variables DB_CLIENT=pg, DB_HOST=database, DB_DATABASE, DB_USER, DB_PASSWORD.

  3. Configurar las variables de entorno

    Rellene KEY y SECRET con cadenas aleatorias (openssl rand -hex 32), defina ADMIN_EMAIL y ADMIN_PASSWORD para la primera cuenta, y PUBLIC_URL=https://cms.mondomaine.com para que los enlaces y las subidas sean correctos.

  4. 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 con docker compose logs -f directus.

  5. 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 directus y el certresolver ACME. Compruebe que PUBLIC_URL coincide exactamente con el dominio HTTPS para evitar problemas de CORS y de subidas.

  6. 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_dump diario más una copia de la carpeta uploads hacia 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.

Despliegue Directus en un VPS con un clic

Pida un VPS ServOrbit con Directus preinstalado: Docker configurado, contenedor en marcha, credenciales generadas y mostradas en su área de cliente. Sin configuración manual.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva