Files
CrumbCodex-v.0.0/waldrand/terminal_guide/Crumbforest_Terminal_Guide.md
Krümel Branko 83df9de035 🌲 CrumbCodex v0.0 - Genesis
12 Monate Crumbforest-Wachstum, sortiert nach Waldlogik.

Struktur:
- 454 Dokumente in 7 organischen Ebenen
- Lichtung → Waldrand → Waldmitte → Wurzeln → Krone → Unterholz → Samen
- INDEX.md für jede Ebene (eigene Stimme)
- WALDKARTE.md (Master-Navigation)
- crumbcodex.md (Das Versprechen zwischen Krümel & Bits)
- lichtung/willkommen.md (Nullfeld-Einstieg für Kinder)

Philosophie:
- Waldlogik statt Ordnerlogik
- Tiefe, Licht, Wurzeln - wie ein echter Wald
- Schutz für Krümel, Tiefe für Gräber, Poesie für Atmende

Repos verbunden:
- OZM-Keks-Handbuch-v1 (Das Wissen)
- Crumb-Core-v.1 (Das Herz) - 194.164.194.191
- crumbmissions (Das Spiel)

Wuuuhuuuuu! 🦉
2025-12-26 16:50:52 +01:00

3.3 KiB

Crumbforest Terminal Guide

Dieses Dokument erklärt die Nutzung und Konfiguration des Crumbforest-Terminals innerhalb des Docker-Setups.

Inhaltsverzeichnis

  1. Voraussetzungen
  2. Starten des Terminals
  3. Login-Menü
  4. Benutzerauswahl
  5. Editor (Nano) nutzen
  6. Mission starten
  7. Session-Wrapper verwenden
  8. Sudo-Konfiguration für Skripte
  9. Troubleshooting

1. Voraussetzungen

  • Docker & Docker Compose installiert
  • Repository geklont und im Projekt-Root
  • Mindestens PHP 8.4 und Apache im Container
  • nano, bash, sudo und weitere Tools im Image installiert (Dockerfile-Setup)

2. Starten des Terminals

Im Projekt-Verzeichnis:

# Container bauen und starten
docker-compose build
docker-compose up -d

# Shell im App-Container (Port 8080)
docker exec -it <app-container> bash --login -i

Zum Öffnen des webbasierten Terminal via ttyd (Port 7780) genügt im Browser:

http://localhost:7780

3. Login-Menü

Beim Start des Terminal-Skripts (/scripts/terminal_login.sh) erscheint:

🌟 Willkommen im Crumbforest Terminal!

1) 📝 Erste Mission starten
2) 🧪 Terminal erkunden
3) ❌ Beenden

4. Benutzerauswahl

Nach Auswahl von „Terminal erkunden“ wird mit login das interne Login aufgerufen:

🔑 Login extern in Arbeit
👤 Wähle Benutzer:
1) root
2) kruemel
3) jupiter
4) heimkind

Durch Eingabe der Nummer wechselt man direkt in die Home-Shell des entsprechenden Users.

5. Editor (Nano) nutzen

Nano ist im Image installiert (Pfad: /usr/bin/nano). Wichtig:

  • Shell immer als Login- und Interactive-Shell starten, damit PATH korrekt gesetzt ist.
  • Im Skript nutzt du:
    exec bash --login -i
    
  • In jeder Session kannst du dann einfach nano datei.txt ausführen.

6. Mission starten

Das Kommando mission hängt von geladenen Sitzungsdaten ab und verlangt ggf. Root-Rechte.

Variante A: Session-Wrapper direkt nutzen

/scripts/session_wrapper.sh /usr/local/bin/mission

Variante B: mission per sudo

sudo mission

Variante C: Menü-Option anpassen

In terminal_login.sh unter Punkt 1:

- /usr/local/bin/mission
+ exec /scripts/session_wrapper.sh /usr/local/bin/mission

7. Session-Wrapper verwenden

Der Wrapper lädt Auth-Daten und führt das Skript mit korrekten Rechten aus.

Pfad: /scripts/session_wrapper.sh

Beispiel:

/scripts/session_wrapper.sh /usr/local/bin/mission

8. Sudo-Konfiguration für Skripte

In der Dockerfile legst du fest:

RUN echo 'www-data ALL=(ALL) NOPASSWD: /scripts/create_linux_user.sh' > /etc/sudoers.d/crumbforest
RUN echo 'kruemel ALL=(ALL) NOPASSWD: /usr/local/bin/mission' >> /etc/sudoers.d/crumbforest

Dadurch dürfen die Benutzer die jeweiligen Skripte ohne Passwort ausführen.

9. Troubleshooting

  • Nano nicht gefunden: Shell nicht als Login/Interactive gestartet → exec bash --login -i verwenden.
  • mission: nicht eingeloggt: Immer per Wrapper (session_wrapper.sh) oder sudo starten.
  • Tab-Completion fehlt: ~/.bashrc nicht eingelesen → siehe Login-Shell-Option.

Ende des Guides. Viel Spaß im Crumbforest! 🎉