Configuración
El proceso siguiente está orientado a entornos de desarrollo Linux.
1. Nombre de la aplicación
Cambia el nombre de la carpeta del proyecto (el nombre de la aplicación) usando solo letras minúsculas, números y guion bajo.
2. Archivo de configuración
Copia el archivo de configuración de ejemplo desde la raíz de la aplicación:
cp config/sample.json config/_development.json
Para un entorno de producción, usa en su lugar:
cp config/sample.json config/_production.json
Después, cambia la propiedad name en la raíz del JSON por el nombre de la aplicación elegido en el paso 1.
Los archivos
config/_development.jsyconfig/_production.jsya existen en el proyecto y sirven para configuraciones dinámicas/programáticas; normalmente no necesitas tocarlos; lo que se edita es el.jsoncorrespondiente.
3. Base de datos
CLUAR necesita una conexión a una base de datos PostgreSQL. Aprende a configurar aquí.
En config/_development.json (o _production.json), localiza db.default y sustituye por los datos de tu base de datos:
"db": {"default": {
"password": "Your-DB-SeCr3t-Her3",
"engine": "pg",
"port": "5432",
"host": "localhost",
"name": "cluar",
"username": "cluar"
}}
4. Secreto JWT
En auth.jwt.secret, define un secreto aleatorio de 32 caracteres, usado para garantizar la seguridad de la autenticación:
"auth": {
"jwt": {
"enabled": true,
"secret": "ThisSecretMustContains32Chars!!!",
"expires": {
"access": 1440,
"refresh": 1440
}
}
}
Se recomienda generar el secreto con una herramienta de generación de código aleatorio.
5. Altcha (alternativa a reCAPTCHA)
CLUAR admite Altcha, una alternativa a Google reCAPTCHA basada en prueba de trabajo (proof-of-work), sin depender de servicios externos ni recopilar datos del visitante. Se usa en el inicio de sesión y en el registro de usuarios.
Hay dos interruptores, en lugares diferentes del .json:
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
auth.altcha.enabled— activa la verificación de Altcha en el lado del servidor (Netuno). Sin esto entrue, Altcha no se valida, aunque aparezca en el sitio web.auth.altcha.admin.enabled— activa Altcha también en el inicio de sesión del backoffice de Netuno (puerto9000), separado del inicio de sesión del sitio web.
"settings": {
"cluar": {
"website": {
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
}
}
}
settings.cluar.website.auth.altcha— refleja la misma opción del lado del sitio web: controla si el widget de Altcha se muestra en el formulario de inicio de sesión/registro del sitio.
Para que Altcha funcione, activa
enabled: trueen los dos lados: el servidor necesita validar y el sitio web necesita mostrar el widget.
6. Definiciones de CLUAR
En settings.cluar, ajusta la configuración del sitio web:
"settings": {
"cluar": {
"website": {
"url": "http://localhost:3000",
"name": "Nombre del sitio web",
"analytics": null,
"mapbox": {
"dark": false,
"accessToken": null
},
"services": {
"api": "http://localhost:9000/services/"
},
"auth": {"providers": {
"discord": false,
"facebook": false,
"github": false,
"google": false
}}
},
"uglifyjs": false
}
}
website.url— URL donde se ejecutará el sitio web.website.name— nombre del sitio web.website.services.api— URL de la API de servicios de Netuno, consumida por el sitio web.website.auth.providers— activa/desactiva métodos de inicio de sesión social (Discord, Facebook, GitHub, Google).uglifyjs— controla si el código del sitio web se minifica.
7. Inicio automático del sitio web (opcional)
El sitio web puede iniciarse automáticamente junto con el servidor Netuno mediante la lista commands:
"commands": [
{
"path": "website",
"command": "bun run dev",
"install": "bun install",
"enabled": true
}
]
Basta con poner enabled como true en la entrada con "path": "website". Así, al ejecutar ./netuno server app=cluar, el sitio web se inicia junto sin que necesites iniciarlo manualmente en otra terminal.
Siguiente paso
Con la aplicación configurada, continúa con Ejecución.