Entferne Port-Env-Indirektion und dokumentiere alle lab.sh-Verben

Schein-Konfigurierbarkeit beseitigt: HTTP_PORT/HTTPS_PORT liessen sich
zwar im Compose-Mapping setzen, aber nginx (statische Config) und alle
Test-Kommandos in MD/HTML waren auf 8080/8443 hartkodiert. Der einzige
reale Grund die Vars zu aendern (Port-Konflikt) brach also still die
gesamte Doku. Ports sind im Lab feste Konstanten -> hartkodieren.

- docker-compose.yml + Snippets (easyrsa-hints.md, solutions.html):
  ${HTTP_PORT:-8080}/${HTTPS_PORT:-8443} -> feste 8080/8443
- .env.example entfernt (enthielt nur diese zwei Vars), .env-Erzeugung
  aus bootstrap.sh entfernt; .gitignore behaelt .env als Vorsorge
- README: .env-Bullet raus

Doku-Luecke geschlossen:
- README: up/down/logs ergaenzt (vorher nur in lab.sh usage()),
  jeweils mit Kurzbeschreibung

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hkoeck
2026-05-31 22:43:05 +02:00
parent 4da7890119
commit e639aa4f88
6 changed files with 11 additions and 21 deletions
-8
View File
@@ -1,8 +0,0 @@
# Host-Port fuer HTTP (Reverse Proxy -> Container Port 80)
HTTP_PORT=8080
# Host-Port fuer HTTPS, wird erst ab Challenge 10 genutzt (-> Container Port 443).
# Hinweis: Nginx liest in der statischen Config keine Env-Variablen. Wenn du diesen
# Wert aenderst, musst du den Redirect-Zielport in proxy/nginx.conf
# (z. B. "return 301 https://$host:8443$request_uri;") manuell angleichen.
HTTPS_PORT=8443
+6 -1
View File
@@ -88,7 +88,6 @@ Wenn mehrere Distros installiert sind:
Das Skript:
- prueft Docker + Compose
- erstellt `.env` aus `.env.example` (falls nicht vorhanden)
- startet den Stack
## Neu deployen / resetten
@@ -96,15 +95,21 @@ Das Skript:
Alle Aktionen laufen ueber `./scripts/lab.sh <aktion>` (in WSL/Linux). Windows-PowerShell-Nutzer nehmen `./scripts/workshop.ps1 -Action <aktion>` - dahinter steckt dasselbe Skript.
```bash
./scripts/lab.sh up
./scripts/lab.sh redeploy
./scripts/lab.sh proxy-reload
./scripts/lab.sh down
./scripts/lab.sh logs
./scripts/lab.sh reset
./scripts/lab.sh reset-hard
./scripts/lab.sh reset-origin
```
- `up`: build + start (entspricht dem, was `bootstrap` am Ende macht)
- `redeploy`: build + restart aller Services
- `proxy-reload`: nur Reverse Proxy restart
- `down`: Stack stoppen (Container entfernen, Volumes bleiben)
- `logs`: Logs aller Services folgen (`Strg+C` zum Beenden)
- `reset`: Container/Netzwerk/Volumes aufraeumen
- `reset-hard`: wie `reset`, plus lokale Git-Aenderungen verwerfen (falls Git-Repo)
- `reset-origin`: wie `reset-hard`, aber bevorzugt Ruecksetzen auf `origin/main`
+2 -2
View File
@@ -71,8 +71,8 @@ Danach in `proxy/nginx.conf` TLS aktivieren und in `docker-compose.yml` Port `44
services:
reverse-proxy:
ports:
- "${HTTP_PORT:-8080}:80"
- "${HTTPS_PORT:-8443}:443"
- "8080:80"
- "8443:443"
volumes:
- ./proxy/nginx.conf:/etc/nginx/nginx.conf:ro,z
- ./proxy/html:/usr/share/nginx/html:ro,z
+1 -1
View File
@@ -8,7 +8,7 @@ services:
- backend-a
- backend-b
ports:
- "${HTTP_PORT:-8080}:80"
- "8080:80"
volumes:
- ./proxy/nginx.conf:/etc/nginx/nginx.conf:ro,z
- ./proxy/html:/usr/share/nginx/html:ro,z
+2 -2
View File
@@ -352,8 +352,8 @@ cd certs/easyrsa
<p><span class="kw">Compose:</span></p>
<pre><code>reverse-proxy:
ports:
- "${HTTP_PORT:-8080}:80"
- "${HTTPS_PORT:-8443}:443"
- "8080:80"
- "8443:443"
volumes:
- ./certs/live:/etc/nginx/certs:ro,z</code></pre>
<p><span class="kw">Wichtig:</span> Nicht die komplette PKI in den Container mounten. Nur Runtime-Zertifikat + Key bereitstellen.</p>
-7
View File
@@ -21,13 +21,6 @@ if ! "$SCRIPT_DIR/compose.sh" version >/dev/null 2>&1; then
exit 1
fi
if [[ ! -f .env ]]; then
cp .env.example .env
echo "[ok] .env aus .env.example erstellt"
else
echo "[skip] .env existiert bereits"
fi
"$SCRIPT_DIR/compose.sh" up -d --build
echo