diff --git a/admin/content/2-installation.typ b/admin/content/2-installation.typ index 49050b4..3419cc2 100644 --- a/admin/content/2-installation.typ +++ b/admin/content/2-installation.typ @@ -121,8 +121,6 @@ Ein Docker-Image, welches alle notwendigen Komponenten beinhaltet, ist in der Er \ Das All-In-One Image abstrahiert das Routing zu App und Server und beinhaltet direkt die Datenbank. Auch werden gleiche Konfigurations-Daten zusammengefasst und an die Container übergeben. -#pagebreak() - == Git Eine Alternative zu Docker ist die direkte Ausführung der Anwendungen auf dem Server oder Desktop Gerät. @@ -141,15 +139,21 @@ Für das Hosting von statischen Inhalten kann Apache oder Nginx verwendet werden Die NodeJs Prozesse können auch durch Tools wie pm2 verwaltet werden. \ \ +Um die Konfiguration mittels ENV-Variablen an die Anwendungen weitergeben zu können, müssen `.env` Dateien erstellt werden. Hierzu kann die `.env.example` Datei kopiert und die definierten Werte ausgefüllt werden. Nicht benötigte Einträge sollten entfernt werden. + +Die env-Datei im Frontend muss vor dem build-Prozess erstellt sein, da dort die Werte fest in den Code übernommen werden. Weiterhin muss die Datei im Frontend `.env.production` heißen. Die bestehende Datei kann modifiziert werden. Bei einer Änderung muss die App neu gebaut werden. + +Die env-Datei im Backend muss vor der Ausführung von `npm run start` angelegt sein. Bei einer Änderung der Einträge muss der Server lediglich neu gestartet werden. +\ +\ *App* ```sh git clone https://forgejo.jk-effects.cloud/Ehrenamt/ff-admin.git cd ff-admin npm install npm run build -npm run start ``` -`npm run start` nutzt vite, um die App zu betreiben. Alternativ kann auch der durch `npm run build` erstellte dist Ordner mit Apache oder Nginx zur Verfügung gestellt werden. +Der durch `npm run build` erstellte dist Ordner kann mit Apache oder Nginx zur Verfügung gestellt werden. \ \ *Server* @@ -161,8 +165,6 @@ npm run build npm run start ``` -#pagebreak() - == Konfiguration Folgende Werte können zu einem Container konfiguriert werden: @@ -219,10 +221,12 @@ Folgende Werte können zu einem Container konfiguriert werden: 💥: Ein Fehlen dieser Variable verhindert das Starten der Anwendung! 🚨: Bei Verwendung von SQLite sind diese Variablen nicht notwendig! -\\ - +\ +\ *Hinweis:* Eine fehlerhafte Konfiguration der optionalen oder geforderten Variable verhindert das Starten der Anwendung. +*Hinweis:* Eine Änderung der Datenbank übernimmt die Daten nur automatisch in die neue Datenbank, wenn `BACKUP_AUTO_RESTORE` aktiviert ist und ein Backup angelegt ist. Es werden dann die Daten des gefundenen Backups in die neue Datenbank eingefügt. + == Einrichtung Um die Anwendung nutzen zu können, kann ein erster Administrator-Account wie folgt erstellt werden: @@ -242,4 +246,7 @@ Wer Docker mit `latest` nutzt, kann das neue Image direkt mit `docker pull` neu \ Informationen zu neuen Versionen können innerhalb der App im Account des Eigentümers oder in den Release-Pages gefunden werden. -Die Releases beinhalten Informationen zu einem Update und was zu beachten ist. So enthalten die Release-Informationen beispielsweise Vorbereitungen vor einem Update. \ No newline at end of file +Die Releases beinhalten Informationen zu einem Update und was zu beachten ist. So enthalten die Release-Informationen beispielsweise Vorbereitungen vor einem Update. +\ +\ +Bei Verwendung mittels Git, müssen die Repos neu bezogen werden. Anschließend müssen die Dependencies neu installiert und die Anwendungen neu gebaut werden. \ No newline at end of file diff --git a/ff-admin.pdf b/ff-admin.pdf index bc828cb..86dd3b9 100644 Binary files a/ff-admin.pdf and b/ff-admin.pdf differ diff --git a/ff-webpage.pdf b/ff-webpage.pdf index d7302f5..ab6be0b 100644 Binary files a/ff-webpage.pdf and b/ff-webpage.pdf differ diff --git a/webpage/content/2-installation.typ b/webpage/content/2-installation.typ index 2d67ab0..e01bf64 100644 --- a/webpage/content/2-installation.typ +++ b/webpage/content/2-installation.typ @@ -44,8 +44,9 @@ Das Fehlen einer geforderten Variable oder die falsche Angabe eines Variablen-We \ \ Innerhalb dem Ordner, der dem Volume zugeordnet ist, werden Uploads abgelegt. -\ -\ + +#pagebreak() + *Datenbank* Als Datenbank können MySQL, Postgres und SQLite verwendet werden. Postgres wird für den Produktiven Einsatz empfohlen. @@ -108,6 +109,11 @@ Das System muss NodeJs und die bevorzugte Datenbank installiert haben. Die NodeJs Prozesse können auch durch Tools wie pm2 verwaltet werden. \ \ +Um die Konfiguration mittels ENV-Variablen an die Anwendungen weitergeben zu können, müssen `.env` Dateien erstellt werden. Hierzu kann die `.env.example` Datei kopiert und die definierten Werte ausgefüllt werden. Nicht benötigte Einträge sollten entfernt werden. + +Die env-Dateien müssen vor der Ausführung von `npm run start` angelegt sein. Bei einer Änderung der Einträge müssen die Anwendungen lediglich neu gestartet werden. +\ +\ *Webseite* ```sh git clone https://forgejo.jk-effects.cloud/Ehrenamt/ff-webpage.git @@ -173,10 +179,12 @@ Folgende Werte können zu einem Container konfiguriert werden: 💥: Ein Fehlen dieser Variable verhindert das Starten der Anwendung! 🚨: Bei Verwendung von SQLite sind diese Variablen nicht notwendig! -\\ - +\ +\ *Hinweis:* Eine fehlerhafte Konfiguration der optionalen oder geforderten Variable verhindert das Starten der Anwendung. +*Hinweis:* Eine Änderung der Datenbank übernimmt nicht automatisch die Daten in die neue Datenbank. + == Update der Version Um eine Version auf eine Neuere zu aktualisieren, muss meist nur der Docker-Tag oder das Repo ersetzt werden. @@ -187,3 +195,6 @@ Wer Docker mit `latest` nutzt, kann das neue Image direkt mit `docker pull` neu Informationen zu neuen Versionen können innerhalb der App im Account des Eigentümers oder in den Release-Pages gefunden werden. Die Releases beinhalten Informationen zu einem Update und was zu beachten ist. So enthalten die Release-Informationen beispielsweise Vorbereitungen vor einem Update. +\ +\ +Bei Verwendung mittels Git, müssen die Repos neu bezogen werden. Anschließend müssen die Dependencies neu installiert und die Anwendungen neu gebaut werden.