3.0 KiB
Installation und Einrichtung
In diesem Abschnitt wird beschrieben, wie die MYP-Anwendung installiert und eingerichtet wird. Diese Schritte umfassen die Vorbereitung der Umgebung, das Konfigurieren der notwendigen Dienste und die Bereitstellung des Projekts.
Voraussetzungen
Hardware und Software
- Raspberry Pi: Die Anwendung ist für den Einsatz auf einem Raspberry Pi optimiert, auf dem Raspbian Lite installiert sein sollte.
- Docker: Docker und Docker Compose müssen installiert sein.
- Netzwerkzugriff: Der Raspberry Pi muss im Netzwerk erreichbar sein.
Abhängigkeiten
- Node.js (mindestens Version 20)
- PNPM (Paketmanager)
- SQLite (für lokale Datenbankverwaltung)
Schritte zur Einrichtung
1. Repository klonen
Klonen Sie das Repository auf Ihr System:
git clone <repository-url>
cd <repository-ordner>
2. Konfiguration der Umgebungsvariablen
Passen Sie die Datei .env.example
an und benennen Sie sie in .env
um:
cp .env.example .env
Erforderliche Variablen:
OAUTH_CLIENT_ID
: Client-ID für die OAuth-AuthentifizierungOAUTH_CLIENT_SECRET
: Geheimnis für die OAuth-Authentifizierung
3. Docker-Container erstellen
Führen Sie das Skript build.sh
aus, um Docker-Images zu erstellen:
bash docker/build.sh
Dies erstellt die notwendigen Docker-Images, einschließlich der Anwendung und eines Caddy-Webservers.
4. Docker-Images speichern
Speichern Sie die Images in komprimierter Form, um sie auf anderen Geräten bereitzustellen:
bash docker/save.sh <image-name>
5. Bereitstellung
Kopieren Sie die Docker-Images auf den Zielserver (z. B. Raspberry Pi) und führen Sie deploy.sh
aus:
scp docker/images/*.tar.xz <ziel-server>:/path/to/deployment/
bash docker/deploy.sh
Das Skript führt die Docker Compose-Konfiguration aus und startet die Anwendung.
(Optional: 6. Admin-User anlegen)
Um einen Admin-User anzulegen, muss zuerst das Container-Image gestartet werden. Anschließend meldet man sich mittels der GitHub-Authentifizierung bei der Anwendung an.
Der nun in der Datenbank angelegte User hat die Rolle guest
. Über das CLI muss man nun in die SQLite-Datenbank (die Datenbank sollte außerhalb des Container-Images liegen) wechseln und
den User updaten.
SQL-Befehl, um den User zu updaten:
sqlite3 db.sqlite3
UPDATE users SET role = 'admin' WHERE id = <user-id>;
Start der Anwendung
Sobald die Docker-Container laufen, ist die Anwendung unter der angegebenen Domain oder IP-Adresse erreichbar. Standardmäßig verwendet der Caddy-Webserver Port 80 (HTTP) und 443 (HTTPS).
Optional: Entwicklungsmodus
Für lokale Tests können Sie die Anwendung ohne Docker starten:
- Installieren Sie Abhängigkeiten:
pnpm install
- Starten Sie den Entwicklungsserver:
Die Anwendung ist dann unterpnpm dev
http://localhost:3000
verfügbar.
Nächster Schritt: => Nutzung