Entwicklungsumgebung unter Mac/Linux einrichten
Hier findest du die Anleitung, wie du eine Entwicklungsumgebung für Gladys Assistant einrichtest.
Server
Der Server ist ein Node.js-Backend.
Systemabhängigkeiten installieren
Du brauchst:
-
Node.js 22 LTS (Download unter macOS).
-
Node.js 22 LTS unter Ubuntu/Debian:
curl -sLO https://deb.nodesource.com/nsolid_setup_deb.shsudo bash nsolid_setup_deb.sh 22sudo apt install nodejs -y
Alternativ kannst du nvm verwenden, um Node.js-Versionen zu installieren und zu verwalten.
- sqlite3 (sqlite in Homebrew unter macOS,
sudo apt install sqlite3unter Ubuntu/Debian). - OpenSSL (OpenSSL 3 in Homebrew unter macOS,
sudo apt install opensslunter Ubuntu/Debian).
Das Git-Repository von Gladys klonen
git clone https://github.com/GladysAssistant/Gladys gladys && cd gladys
NPM-Abhängigkeiten installieren
cd server
Da du beim Entwickeln wahrscheinlich nicht jede einzelne Integration brauchst, empfehlen wir dir, im Ordner server eine Datei .env mit folgendem Inhalt anzulegen:
INSTALL_SERVICES_SILENT_FAIL=true
So erstellst du die Datei .env mit diesem Inhalt:
echo "INSTALL_SERVICES_SILENT_FAIL=true" > .env
Danach kannst du die Abhängigkeiten des Servers installieren:
npm install
Datenbankmigration ausführen
npm run db-migrate:dev
Server starten
npm start
Der Server sollte nun unter http://localhost:1443 erreichbar sein.
Frontend
Führe im Stammverzeichnis des Git-Repositorys Folgendes aus:
cd front
NPM-Abhängigkeiten installieren
npm install
Frontend starten
npm start
Das Frontend sollte nun unter http://localhost:1444 erreichbar sein.
Servertests starten
Wechsle in den Ordner server.
Und führe aus:
npm test
Den Linter startest du mit:
npm run eslint
Servertests nur für einen Service starten
Um die Tests nur für einen einzelnen Service auszuführen, wechsle in den Ordner server und führe folgenden Befehl aus:
npm run test-service --service=tasmota