- Klone das Projekt
git clone https://github.com/Viktoriaschule/Server.git
- Kopiere die
config.example.json
Datei und benenne sieconfig.json
- Ersetzte alle Platzhalter in der
config.json
Datei durch die richtigen Werte - Lade den privaten Firebase Schlüssel herunter
- Firebaseprojekt -> Einstellungen (oben links) -> Dienstkonten -> Neuen privaten Schlüssel generieren
- Bennene die Datei
firebase.json
und verschiebe sie ins Hauptverzeichnis des Servers
- Speichere den Stundenplanexport (
Schuldatentransfer UNSTF
) unterunstf.txt
(SollteISO-8859
bleiben und nicht nachUTF-8
konvertiert werden) - Falls
yarn
noch nicht installiert ist, installiere es jetzt - Installiere alle Packages:
yarn install
- Starte den Server
yarn start
, oder ein bestimmtes Modul:yarn MODUL
- Alle Module sind in der
package.json
Datei zu finden
- Alle Module sind in der
- Alles aus dem Abschnitt Konfiguration
- Webservice auf den in der
config.json
festgelegten Port configurieren - Damit der Server automatisch gestartet wird, aber auch jederzeit gestoppt und neugestartet werden kann, wird ein Service erstellt:
- Erstelle die Datei
/etc/systemd/system/viktoriaapp.service
mit folgendem InhaltDie Zeilen[Unit] Description=ViktoriaApp api service After=mysqld.service Requires=mysqld.service StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=USERNAME_FOR_THIS_SERVICE WorkingDirectory=DIRECTORY_TO_SERVER_FOLDER ExecStart=/usr/local/bin/yarn start [Install] WantedBy=multi-user.target
werden nur gebraucht wenn auf dem selben Server auch die Datenbank läuft, wenn dies nicht der Fall ist, müssen diese durchAfter=mysqld.service Requires=mysqld.service
ersetzt werden, da nicht mehr auf eine Datenbank, sondern nur aufs Netzwerk gewartet werden mussAfter=network.target
- Aktiviere den Service mit
sudo systemctl enable viktoriaapp.service
- Und starte ihn anschließend mit
sudo service start
- Zum neustarten einfach
sudo service restart
ausführen - Für die Logs kann
sudo journalctl -r -u viktoriaapp
ausgeführt werden, oder wenn live neue Logs angezeigt werden das-r
durch ein-f
ersetzten
- Erstelle die Datei
- Um Benachrichtigungen für Entwickler zu erzwingen, benutze das
--dev
Attribut - Um eigene Daten zu laden, gucke auf den simulation server