- Node v18.7.0
Crear un archivo .env
en la raíz del proyecto.
Puedes guiarte del archivo .env.example
para ver las variables que necesitas para configurar Directus.
Adicionalmente se necesitan las siguientes variables para hacer funcionar la extensión de DM Formación:
Nombre | Descripción |
---|---|
MOODLE_TOKEN | Token para WS de Moodle |
MOODLE_WS_URL | URL de WS de Moodle (http:///webservice/rest/server.php) |
WEB_URL_CHANGE_PASSWORD | URL que se enviará en el mail para cambiar la contraseña de un usuario externo (https:///cambiar-contrasena) |
No olvidar setear las variables de entorno de Directus
Nombre | Descripción |
---|---|
HOST | Indicar la IP del servidor |
PORT | Indicar el puerto del servidor |
PUBLIC_URL | Indicar la URL pública del servidor (https//) |
RATE_LIMITER_ENABLED | Debes desactivar esta opción (false) |
PRESSURE_LIMITER_ENABLED | Debes desactivar esta opción (false) |
Se recomienda creare una carpeta fuera del proyecto, para almacenar los achivos subidos, configurar la variable STORAGE_LOCAL_ROOT (por ejemplo: c:\directus_uploads) y asegurarse de que se tiene permisos de lectura y excritura
Instalaciones globales (solo hacerlo la primera vez)
npm i -g isolated-vm sharp argon2 pm2
Clonar el repositorio knex Knex es la librería que se usa para coenctarse a las diferentes bases de datos, Hay un error reportado con Oracle, pero que no se ha publicado en la última versión, para tener este fix, se debe compilar e importar la librería manualmente
// en la misma carpeta en donde se encuentra dm-formacion-cms (D:\Aplicación web\)
git clone https://github.com/knex/knex.git
cd knex
npm i
npm run build
Hacer esto cada vez que se actualice el proyecto
// en la carpeta dm-formacion-cms
npm i
cd extensions/directus-extension-dmformacion
npm i
npm run build
En la raíz del proyecto
configurar el archivo ecosystem.config.js
con las variables de entorno
SERVER
debe ser la URL del servidor de Directus
Health Check
Hará un ping al servidor de directus y lo reiniciará en caso de que la conexión a Oracle esté caida
Load Check
Hará un check al servidor desde un navegador
pm2 start ecosystem.config.js
Directus: https://docs.directus.io/ PM2: https://pm2.keymetrics.io/docs/usage/quick-start/
Desde Docker
docker compose exec directus npx directus schema snapshot ./snapshots/"$(date "+%F")"-snapshot-"$(date "+%s")".yaml
Desde CLI
npm run create-snapshot