Configurare
Procesul de mai jos este destinat mediilor de dezvoltare Linux.
1. Numele aplicației
Redenumește folderul proiectului (numele aplicației) folosind doar litere mici, cifre și underscore.
2. Fișierul de configurare
Copiază fișierul de configurare exemplu, din rădăcina aplicației:
cp config/sample.json config/_development.json
Pentru un mediu de producție, folosește în schimb:
cp config/sample.json config/_production.json
Apoi, modifică proprietatea name din rădăcina JSON-ului la numele aplicației ales la pasul 1.
Fișierele
config/_development.jsșiconfig/_production.jsexistă deja în proiect și servesc pentru configurații dinamice/programatice — de obicei nu trebuie să le atingi; ceea ce se editează este.json-ul corespunzător.
3. Baza de date
CLUAR are nevoie de o conexiune la o bază de date PostgreSQL. Învață cum să configurezi aici.
În config/_development.json (sau _production.json), găsește db.default și înlocuiește cu datele bazei tale de date:
"db": {"default": {
"password": "ParolaTa-DB-SeCr3t-Aici",
"engine": "pg",
"port": "5432",
"host": "localhost",
"name": "cluar",
"username": "cluar"
}}
4. Secretul JWT
În auth.jwt.secret, definește un secret aleatoriu cu 32 de caractere, folosit pentru a garanta securitatea autentificării:
"auth": {
"jwt": {
"enabled": true,
"secret": "AcestSecretAreExact32Caractere!!",
"expires": {
"access": 1440,
"refresh": 1440
}
}
}
Se recomandă generarea secretului cu un instrument de generare a codului aleatoriu.
5. Altcha (alternativă la reCAPTCHA)
CLUAR suportă Altcha — o alternativă la Google reCAPTCHA bazată pe dovada muncii (proof-of-work), fără a depinde de servicii externe și fără a colecta datele vizitatorului. Este folosit la autentificare și la înregistrarea utilizatorilor.
Există două comutatoare, în locuri diferite din .json:
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
auth.altcha.enabled— activează verificarea Altcha pe partea serverului (Netuno). Fără aceasta setată latrue, Altcha nu este validat, chiar dacă apare pe site.auth.altcha.admin.enabled— activează Altcha și la autentificarea în backoffice-ul Netuno (portul9000), separat de autentificarea pe site.
"settings": {
"cluar": {
"website": {
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
}
}
}
settings.cluar.website.auth.altcha— oglindește aceeași opțiune pe partea site-ului: controlează dacă widgetul Altcha este afișat în formularul de autentificare/înregistrare al site-ului.
Pentru ca Altcha să funcționeze, activează
enabled: truepe ambele părți — serverul trebuie să valideze, iar site-ul trebuie să afișeze widgetul.
6. Setările CLUAR
În settings.cluar, ajustează configurația site-ului:
"settings": {
"cluar": {
"website": {
"url": "http://localhost:3000",
"name": "Numele site-ului",
"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-ul unde va rula site-ul.website.name— numele site-ului.website.services.api— URL-ul API-ului de servicii Netuno, consumat de site.website.auth.providers— activează/dezactivează metodele de autentificare socială (Discord, Facebook, GitHub, Google).uglifyjs— controlează dacă codul site-ului este minificat.
7. Pornirea automată a site-ului (opțional)
Site-ul poate porni automat împreună cu serverul Netuno, prin lista commands:
"commands": [
{
"path": "website",
"command": "bun run dev",
"install": "bun install",
"enabled": true
}
]
Este suficient să setezi enabled la true în intrarea cu "path": "website". Astfel, la rularea ./netuno server app=cluar, site-ul pornește împreună fără a fi nevoie să îl inițiezi manual într-un alt terminal.
Pasul următor
Cu aplicația configurată, continuă la Execuție.