Konfiguration
Der folgende Prozess ist auf Linux-Entwicklungsumgebungen ausgerichtet.
1. Name der App
Benenne den Projektordner (den Namen der App) um und verwende dabei nur Kleinbuchstaben, Zahlen und Unterstriche.
2. Konfigurationsdatei
Kopiere die Beispiel-Konfigurationsdatei aus dem Stammverzeichnis der App:
cp config/sample.json config/_development.json
Für eine Produktionsumgebung verwende stattdessen:
cp config/sample.json config/_production.json
Ändere dann die Eigenschaft name im JSON-Stammverzeichnis auf den in Schritt 1 gewählten App-Namen.
Die Dateien
config/_development.jsundconfig/_production.jsexistieren bereits im Projekt und dienen dynamischen/programmatischen Konfigurationen — normalerweise musst du sie nicht anfassen; bearbeitet wird die entsprechende.json-Datei.
3. Datenbank
CLUAR benötigt eine Verbindung zu einer PostgreSQL-Datenbank. Hier erfährst du, wie du sie konfigurierst.
Suche in config/_development.json (oder _production.json) nach db.default und ersetze es durch die Daten deiner Datenbank:
"db": {"default": {
"password": "Your-DB-SeCr3t-Her3",
"engine": "pg",
"port": "5432",
"host": "localhost",
"name": "cluar",
"username": "cluar"
}}
4. JWT-Geheimnis
Lege in auth.jwt.secret ein zufälliges Geheimnis mit 32 Zeichen fest, das zur Sicherung der Authentifizierung verwendet wird:
"auth": {
"jwt": {
"enabled": true,
"secret": "ThisSecretMustContains32Chars!!!",
"expires": {
"access": 1440,
"refresh": 1440
}
}
}
Es wird empfohlen, das Geheimnis mit einem Zufallscode-Generator zu erzeugen.
5. Altcha (Alternative zu reCAPTCHA)
CLUAR unterstützt Altcha — eine Alternative zu Google reCAPTCHA basierend auf Proof-of-Work, ohne Abhängigkeit von externen Diensten und ohne Erfassung von Besucherdaten. Es wird bei der Anmeldung und Registrierung von Benutzern verwendet.
Es gibt zwei Schalter an verschiedenen Stellen der .json-Datei:
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
auth.altcha.enabled— aktiviert die Altcha-Überprüfung auf der Serverseite (Netuno). Ohnetruewird Altcha nicht validiert, selbst wenn es auf der Website angezeigt wird.auth.altcha.admin.enabled— aktiviert Altcha auch bei der Anmeldung im Netuno-Backoffice (Port9000), getrennt von der Website-Anmeldung.
"settings": {
"cluar": {
"website": {
"auth": {
"altcha": {
"enabled": false,
"admin": {
"enabled": false
}
}
}
}
}
}
settings.cluar.website.auth.altcha— spiegelt dieselbe Option auf der Website-Seite: steuert, ob das Altcha-Widget im Anmelde-/Registrierungsformular der Website angezeigt wird.
Damit Altcha funktioniert, aktiviere
enabled: trueauf beiden Seiten — der Server muss validieren und die Website muss das Widget anzeigen.
6. CLUAR-Einstellungen
Passe in settings.cluar die Konfiguration der Website an:
"settings": {
"cluar": {
"website": {
"url": "http://localhost:3000",
"name": "Website-Name",
"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, unter der die Website laufen wird.website.name— Name der Website.website.services.api— URL der Netuno-Services-API, die von der Website konsumiert wird.website.auth.providers— aktiviert/deaktiviert Methoden für soziale Anmeldung (Discord, Facebook, GitHub, Google).uglifyjs— steuert, ob der Code der Website minifiziert wird.
7. Automatischer Start der Website (optional)
Die Website kann automatisch zusammen mit dem Netuno-Server über die Liste commands starten:
"commands": [
{
"path": "website",
"command": "bun run dev",
"install": "bun install",
"enabled": true
}
]
Setze einfach enabled auf true im Eintrag mit "path": "website". Dadurch startet die Website zusammen, wenn du ./netuno server app=cluar ausführst, ohne dass du sie manuell in einem anderen Terminal starten musst.
Nächster Schritt
Nachdem die App konfiguriert ist, fahre mit Ausführung fort.