Configuratie
Het onderstaande proces is gericht op Linux-ontwikkelomgevingen.
1. Naam van de app
Hernoem de projectmap (de naam van de app) met alleen kleine letters, cijfers en underscores.
2. Configuratiebestand
Kopieer het voorbeeldconfiguratiebestand vanuit de hoofdmap van de app:
cp config/sample.json config/_development.json
Gebruik voor een productieomgeving in plaats daarvan:
cp config/sample.json config/_production.json
Wijzig daarna de eigenschap name in de root van de JSON naar de naam van de app die je in stap 1 hebt gekozen.
De bestanden
config/_development.jsenconfig/_production.jsbestaan al in het project en dienen voor dynamische/programmatische configuraties — meestal hoef je die niet aan te passen; wat je bewerkt is de overeenkomstige.json.
3. Database
CLUAR heeft een verbinding met een PostgreSQL-database nodig. Leer hier hoe je dit configureert.
Zoek in config/_development.json (of _production.json) naar db.default en vervang dit door de gegevens van je database:
"db": {"default": {
"password": "Jouw-DB-GeHe1m-H13r",
"engine": "pg",
"port": "5432",
"host": "localhost",
"name": "cluar",
"username": "cluar"
}}
4. JWT-geheim
Stel in auth.jwt.secret een willekeurig geheim van 32 tekens in, dat wordt gebruikt om de beveiliging van de authenticatie te waarborgen:
"auth": {
"jwt": {
"enabled": true,
"secret": "DitGeheimMoet32TekensBevatten!!!",
"expires": {
"access": 1440,
"refresh": 1440
}
}
}
Het wordt aanbevolen het geheim te genereren met een tool voor het genereren van willekeurige codes.
5. Altcha (alternatief voor reCAPTCHA)
CLUAR ondersteunt Altcha — een alternatief voor Google reCAPTCHA op basis van een werkbewijs (proof-of-work), zonder afhankelijk te zijn van externe diensten en zonder gegevens van bezoekers te verzamelen. Het wordt gebruikt bij het inloggen en registreren van gebruikers.
Er zijn twee schakelaars, op verschillende plaatsen in de .json:
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
auth.altcha.enabled— activeert de Altcha-verificatie aan de serverzijde (Netuno). Zonder dit optruewordt Altcha niet gevalideerd, zelfs als het op de website verschijnt.auth.altcha.admin.enabled— activeert Altcha ook bij het inloggen op de backoffice van Netuno (poort9000), gescheiden van het inloggen op de website.
"settings": {
"cluar": {
"website": {
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
}
}
}
settings.cluar.website.auth.altcha— spiegelt dezelfde optie aan de websitezijde: bepaalt of de Altcha-widget wordt getoond in het inlog-/registratieformulier van de site.
Om Altcha te laten werken, schakel je
enabled: trueaan beide kanten in — de server moet valideren en de website moet de widget tonen.
6. CLUAR-instellingen
Pas in settings.cluar de configuratie van de website aan:
"settings": {
"cluar": {
"website": {
"url": "http://localhost:3000",
"name": "Naam van website",
"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 waar de website zal draaien.website.name— naam van de website.website.services.api— URL van de services-API van Netuno, die door de website wordt gebruikt.website.auth.providers— activeert/deactiveert methoden voor sociale login (Discord, Facebook, GitHub, Google).uglifyjs— bepaalt of de code van de website wordt geminificeerd.
7. Automatische start van de website (optioneel)
De website kan automatisch samen met de Netuno-server starten via de lijst commands:
"commands": [
{
"path": "website",
"command": "bun run dev",
"install": "bun install",
"enabled": true
}
]
Zet enabled op true in de vermelding met "path": "website". Zo start de website mee wanneer je ./netuno server app=cluar uitvoert, zonder dat je hem handmatig in een andere terminal hoeft te starten.
Volgende stap
Nu de app is geconfigureerd, ga verder naar Uitvoering.