|
|
@@ -245,11 +245,30 @@ Für jeden Service existiert eine dedizierte NGINX-Konfiguration. In der Develop
|
|
|
- Die SSL Zertifikate für die Development Umgebung werden als selbsignierte Zertifikate generiert und in `/config/nginx/ssl/mrx8086.com/` abgelegt.
|
|
|
- In der Staging und Production Umgebung werden die Zertifikate über Let's Encrypt oder eine andere Zertifizierungsstelle verwaltet.
|
|
|
|
|
|
+#### Umgebungsvariablen
|
|
|
+Es werden zwei `.env`-Dateien verwendet:
|
|
|
+Eine im `docker/` Verzeichnis für die Docker-Konfiguration und eine im `scripts/setup/keycloak/` für das `setup_realm.js`-Skript.
|
|
|
+
|
|
|
+**`docker/.env`:**
|
|
|
+- `KEYCLOAK_ADMIN_PASSWORD`: Das Passwort für den Keycloak Admin-Benutzer.
|
|
|
+- `KC_DB_USERNAME`: Der Benutzername für die Keycloak-Datenbank.
|
|
|
+- `KC_DB_PASSWORD`: Das Passwort für die Keycloak-Datenbank.
|
|
|
+
|
|
|
+**`scripts/setup/keycloak/.env`:**
|
|
|
+- `KEYCLOAK_URL`: Die URL zum Keycloak-Server (z.B. `https://auth.mrx8086.com`).
|
|
|
+- `KEYCLOAK_ADMIN_USER`: Der Benutzername des Keycloak-Administrators (z.B. `admin`).
|
|
|
+- `KEYCLOAK_ADMIN_PASSWORD`: Das Passwort des Keycloak-Administrators (generiert durch das Skript).
|
|
|
+- `NEXTCLOUD_CLIENT_ID`: Die Client-ID für Nextcloud (z.B. `nextcloud`).
|
|
|
+- `PAPERLESS_CLIENT_ID`: Die Client-ID für Paperless (z.B. `paperless`).
|
|
|
+- `NODERED_CLIENT_ID`: Die Client-ID für Node-RED (z.B. `nodered`).
|
|
|
+- `TESTADMIN_PASSWORD`: Das Passwort für den Testadmin User.
|
|
|
+- `TESTUSER_PASSWORD`: Das Passwort für den Testuser User.
|
|
|
+
|
|
|
+Die Passwörter in der `.env` Datei im `scripts/setup/keycloak` werden vom `setup_environment.sh` Skript generiert.
|
|
|
+
|
|
|
#### Keycloak-Konfiguration
|
|
|
|
|
|
-Keycloak ist als zentrale Authentifizierungsstelle konfiguriert. Die Realm-Konfiguration, Clients und Benutzer werden über das `setup_realm.js` Skript definiert.
|
|
|
-Die Keycloak Konfigurationen sind in einer eigenen Sektion beschrieben. Diese werden mit dem `setup_realm.js` Script Konfiguriert.
|
|
|
-Die Umgebungsvariablen für das Script sind in einer `.env` Datei abgelegt.
|
|
|
+Keycloak ist als zentrale Authentifizierungsstelle konfiguriert. Die Realm-Konfiguration, Clients und Benutzer werden über das `setup_realm.js` Skript definiert, die Konfiguration wird über die `.env` Datei im `/scripts/setup/keycloak` Verzeichnis angepasst.
|
|
|
|
|
|
##### Realm-Konfiguration
|
|
|
- **Realm-Name:** `office-automation`
|
|
|
@@ -306,17 +325,6 @@ Die folgenden Clients werden über das Skript konfiguriert:
|
|
|
- **Entwicklungsumgebung (`dev`):** Für lokale Entwicklung werden selbsignierte SSL-Zertifikate verwendet.
|
|
|
- **Staging/Produktionsumgebung (`staging`, `production`):** Hier werden SSL-Zertifikate über Let's Encrypt oder eine ähnliche Zertifizierungsstelle verwaltet.
|
|
|
|
|
|
-#### Umgebungsvariablen
|
|
|
-Die folgenden Umgebungsvariablen werden für die Konfiguration des Projekts verwendet:
|
|
|
-- `KEYCLOAK_URL`: Die URL zum Keycloak Server (z.B. https://auth.mrx8086.com)
|
|
|
-- `KEYCLOAK_ADMIN_USER`: Der Benutzername des Keycloak Administrators (z.B. admin).
|
|
|
-- `KEYCLOAK_ADMIN_PASSWORD`: Das Passwort des Keycloak Administrators.
|
|
|
-- `NEXTCLOUD_CLIENT_ID`: Die Client ID für Nextcloud. (z.B. nextcloud)
|
|
|
-- `PAPERLESS_CLIENT_ID`: Die Client ID für Paperless (z.B. paperless).
|
|
|
-- `NODERED_CLIENT_ID`: Die Client ID für Node-RED (z.B. nodered).
|
|
|
-- `TESTADMIN_PASSWORD`: Das Passwort für den Testadmin User (default initial123!).
|
|
|
-- `TESTUSER_PASSWORD`: Das Passwort für den Testuser User (default initial123!).
|
|
|
-
|
|
|
## Installationsanleitung
|
|
|
#### Voraussetzungen
|
|
|
- Docker Version: `[VERSION]`
|
|
|
@@ -326,18 +334,24 @@ Die folgenden Umgebungsvariablen werden für die Konfiguration des Projekts verw
|
|
|
- Speicher: `[ANFORDERUNG]`
|
|
|
- Für die Ausführung des `setup_realm.js` Skriptes wird `Node.js` benötigt
|
|
|
- Die genaue Version von `Node.js` wird zu einem späteren Zeitpunkt dokumentiert.
|
|
|
+- Vor dem starten müssen die Passwörter generiert und die `.env` Dateien erstellt werden. Hierzu wird das `setup_environment.sh` verwendet. Dieses Skript sollte **nicht in der Produktionsumgebung** verwendet werden.
|
|
|
+- Das Skript erstellt die benötigten Verzeichnisse, generiert zufällige Passwörter, speichert diese verschlüsselt ab, und erstellt die benötigten `.env` Dateien.
|
|
|
+- Für die Ausführung des `setup_realm.js` Skriptes wird `Node.js` und `npm` benötigt
|
|
|
+- Die benötigten Node Module `dotenv` und `axios` können mit `npm install dotenv axios` installiert werden.
|
|
|
+- Die `.env` Dateien werden im `/docker` und im `/scripts/setup/keycloak` Verzeichnis abgelegt.
|
|
|
|
|
|
#### Keycloak-Installation
|
|
|
-1. Stelle sicher das Docker installiert ist und läuft.
|
|
|
-2. Kopiere die `docker-compose.yml` Datei in das Docker Verzeichnis
|
|
|
-3. Kopiere die `.env` Datei in das Docker Verzeichnis und passe diese an.
|
|
|
-4. Führe `docker-compose up -d` im Docker Verzeichnis aus um Keycloak zu starten.
|
|
|
+1. Führe das `setup_environment.sh` Skript aus, um die .env Dateien, die Passwörter zu generieren und die Credentials zu verschlüsseln.
|
|
|
+2. Kopiere die `docker-compose.yml` Datei in das `docker/` Verzeichnis.
|
|
|
+3. Kopiere die `.env` Datei in das `docker/` Verzeichnis.
|
|
|
+4. Führe `docker-compose up -d` im `docker/` Verzeichnis aus um Keycloak zu starten.
|
|
|
|
|
|
#### Ausführen von `setup_realm.js`
|
|
|
1. Stelle sicher, dass Node.js und npm installiert sind.
|
|
|
-2. Kopiere die `setup_realm.js` Datei in das `/scripts/install` Verzeichnis.
|
|
|
+2. Wechsle in das `/scripts/setup/keycloak` Verzeichnis.
|
|
|
3. Installiere die benötigten npm Pakete mit `npm install dotenv axios`.
|
|
|
-4. Führe das Skript mit `node /scripts/install/setup_realm.js` aus. Dies erstellt den Keycloak-Realm, die Clients und die Testbenutzer.
|
|
|
+4. Führe das Skript mit `node setup_realm.js` aus. Dies erstellt den Keycloak-Realm, die Clients und die Testbenutzer.
|
|
|
+ * Das Script befindet sich im `/scripts/setup/keycloak` Verzeichnis
|
|
|
|
|
|
## Workflows
|
|
|
#### Dokumentenverarbeitung
|
|
|
@@ -383,5 +397,4 @@ Details zur Wartung und dem Monitoring werden in späteren Schritten dokumentier
|
|
|
- Log-Analyse
|
|
|
- Fehlerbehandlung
|
|
|
- Support-Prozesse
|
|
|
-Details zu bekannten Problemen und zur Fehlerbehandlung werden in späteren Schritten dokumentiert.
|
|
|
-```
|
|
|
+Details zu bekannten Problemen und zur Fehlerbehandlung werden in späteren Schritten dokumentiert.
|