Hallo Josef,
ich hab mich anfangs auch schwer getan, aber mittlerweile läufts und ich bin gerade am Customizen für meine Geräte.
Womit ich so meine Herausforderung hatte waren diese Punkte :
- Richtige Version von NodeJS :
keine Pakete des Raspberry OS installieren sondern wie in der Anleitung direkt als root folgendes ausführen :
- curl -sL https://deb.nodesource.com/setup_12.x | bash -
- apt-get install -y nodejs
- Datenbank:
MongoDB ist auf den normalen Rasperry Betriebssytemen zu alt (NodeJ braucht >=2.6) und die ganz neuen Versionen haben keine Installationspakete für die Architektur.
Lösung: Ich hatte auf einem 3er Raspberry noch UbuntuMate laufen. Dort gab es aus den Paketen die Version 2.6.
Gibt aber auch Artikel wie man neuere Versionen auf Raspberry OS bekommt.
- DB Authentifizierung und config:
Mit mongo lokal an der DB anmelden und DB sowie user einrichten:
use <DATENBANKNAME>
db.createUser( { user: "<USERNAME>",
pwd: "<PASSWORD>"
roles: [ "readWrite"] } )
Die Datei config/database.js wie in der Anleitung anlegen und die Variablen mit deinen gewählten Werten ersetzen.
{MONGO_USER}:{MONGO_PASS}@{SERVER_IP:SERVER_PORT}/{AUTH_DB}
Beispiel: <USERNAME>:<PASSWORD>@<IP_ADRESSE>:27017/<DATENBANKNAME>
User1:Pass@127.0.0.1:27017/poolinario
Wenn die DB nicht auf dem selber Rechner läuft geht natürlich nicht localhost(127.0.0.1) sondern die entsprechende IP des Rechners auf dem die DB läuft.
27071 ist der Standard Port sofern dieser nicht verändert wurde.
- Angular Build:
Meine 3er Raspies waren mit nur 1GB Ram nicht in der Lage das Ding zu bauen.
Lösung: Ich hatte noch einen 4er mit 4GB - da geht es ohne Probleme. Alternativ sollte auch ein Linux Rechner in der Lage sein.
Anschließend einfach den Inhalt des dist Verzeichnis auf den Frontend Raspi kopieren und durch Webserver anzeigen lassen.
- Backend und Frontend zusammenspiel:
Damit alles zusammen läuft, braucht es:
1. die MongoDB und passende config
2. den Backend App Teil inkl. benötigter node module (npm i)
3. laufendes Backend (z.B. node app.js)
4. compiliertes Frontend ng build --prod inkl. Module (npm i im angular-src Verzeichnis) mit der korrekten IP für das App Backend
(angular-src/src/app/app.module.ts
angular-src/src/environments/environment.prod.ts)
5. Frontend in einem Webserver starten
z.B. nginx oder zum testen in lite-server -c <config> (sudo npm install lite-server -g)
Beispielconfig für lite-server
6. Webbrowser öffnen http://FRONTENDIP:8000
Viel Erfolg!
Chris