Dokumentation
This commit is contained in:
32
README.md
32
README.md
@@ -32,7 +32,15 @@ terminiert TLS (Let's Encrypt) und leitet an den passenden Upstream weiter.
|
|||||||
Alles hängt unter `*.server.schooltech.ch`. Der Unterschied zwischen den
|
Alles hängt unter `*.server.schooltech.ch`. Der Unterschied zwischen den
|
||||||
Diensten ist nicht die Domain, sondern **wohin der Upstream zeigt**:
|
Diensten ist nicht die Domain, sondern **wohin der Upstream zeigt**:
|
||||||
|
|
||||||
<img src="doc/Architektur.png" width="900" alt="
|
<img src="doc/Architektur.png" width="900" alt="Architektur-Übersicht: Internet → nginx Reverse-Proxy (appServer_PortalUI) → Subdomains, gruppiert nach Upstream-Ziel">
|
||||||
|
|
||||||
|
> Bild: [`doc/Architektur.png`](doc/Architektur.png) · Vektor-Quelle:
|
||||||
|
> [`doc/Architektur.svg`](doc/Architektur.svg) (für PDF/beliebige Skalierung).
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Dieselbe Übersicht als ASCII-Text</summary>
|
||||||
|
|
||||||
|
```text
|
||||||
Internet (HTTPS :443 / HTTP :80)
|
Internet (HTTPS :443 / HTTP :80)
|
||||||
│
|
│
|
||||||
┌────────────────────────────────────────────────┐
|
┌────────────────────────────────────────────────┐
|
||||||
@@ -53,10 +61,9 @@ Diensten ist nicht die Domain, sondern **wohin der Upstream zeigt**:
|
|||||||
index.html guacamole / ├─ 99xx InformatikWeb (inf*)
|
index.html guacamole / ├─ 99xx InformatikWeb (inf*)
|
||||||
+ Auth-API portainer ├─ 81xx RP3/SCARA (rp3*, fluidnc*)
|
+ Auth-API portainer ├─ 81xx RP3/SCARA (rp3*, fluidnc*)
|
||||||
└─ 97xx ThinkCentre (tc*, robot*)
|
└─ 97xx ThinkCentre (tc*, robot*)
|
||||||
">
|
```
|
||||||
|
|
||||||
> Bild: [`doc/Architektur.png`](doc/Architektur.png) · Vektor-Quelle:
|
</details>
|
||||||
> [`doc/Architektur.svg`](doc/Architektur.svg) (für PDF/beliebige Skalierung).
|
|
||||||
|
|
||||||
**Bausteine (Docker-Container, siehe `docker-compose.yaml`):**
|
**Bausteine (Docker-Container, siehe `docker-compose.yaml`):**
|
||||||
|
|
||||||
@@ -95,7 +102,16 @@ Ruft man die nackte Domain `server.schooltech.ch` auf, erscheint die
|
|||||||
|
|
||||||
**Ablauf aus Nutzersicht:**
|
**Ablauf aus Nutzersicht:**
|
||||||
|
|
||||||
<img src="doc/Portal.png" width="720" alt="
|
<img src="doc/Portal.png" width="720" alt="Portal-Ansicht: Navigationsleiste oben mit Logo und Dienst-Buttons, darunter der gewählte Dienst im iFrame">
|
||||||
|
|
||||||
|
*Oben die Navigationsleiste mit Logo und Dienst-Buttons, darunter der gewählte
|
||||||
|
Dienst im iFrame. Bild: [`doc/Portal.png`](doc/Portal.png) · Quellen:
|
||||||
|
[`doc/Portal.svg`](doc/Portal.svg), [`doc/Portal.pdf`](doc/Portal.pdf).*
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Layout-Skizze als ASCII-Text</summary>
|
||||||
|
|
||||||
|
```text
|
||||||
┌──────────────────────────────────────────────────────────────┐
|
┌──────────────────────────────────────────────────────────────┐
|
||||||
│ schooltech [ Control GamePad ][ Guacamole ][ Simulation ]… [Logout] │ ← Navigationsleiste
|
│ schooltech [ Control GamePad ][ Guacamole ][ Simulation ]… [Logout] │ ← Navigationsleiste
|
||||||
├──────────────────────────────────────────────────────────────┤
|
├──────────────────────────────────────────────────────────────┤
|
||||||
@@ -103,11 +119,9 @@ Ruft man die nackte Domain `server.schooltech.ch` auf, erscheint die
|
|||||||
│ « ausgewählter Dienst im iFrame » │
|
│ « ausgewählter Dienst im iFrame » │
|
||||||
│ │
|
│ │
|
||||||
└──────────────────────────────────────────────────────────────┘
|
└──────────────────────────────────────────────────────────────┘
|
||||||
">
|
```
|
||||||
|
|
||||||
*Oben die Navigationsleiste mit Logo und Dienst-Buttons, darunter der gewählte
|
</details>
|
||||||
Dienst im iFrame. Bild: [`doc/Portal.png`](doc/Portal.png) · Quellen:
|
|
||||||
[`doc/Portal.svg`](doc/Portal.svg), [`doc/Portal.pdf`](doc/Portal.pdf).*
|
|
||||||
|
|
||||||
1. Seite öffnen → ist man nicht eingeloggt, zeigt der Button **„Login“**.
|
1. Seite öffnen → ist man nicht eingeloggt, zeigt der Button **„Login“**.
|
||||||
2. Login (User/Passwort) → der Auth-Service setzt ein Session-Cookie für die
|
2. Login (User/Passwort) → der Auth-Service setzt ein Session-Cookie für die
|
||||||
|
|||||||
Reference in New Issue
Block a user