From 1d9aaecb85e13216e56c3ad4448dacdc6473f001 Mon Sep 17 00:00:00 2001 From: Jochen Hanisch Date: Mon, 27 Apr 2026 23:03:25 +0200 Subject: [PATCH] Lege technische Zugriffswiki an --- Betrieb-und-Wiederanlauf.md | 73 ++++++++++++++++++++++++++++++++++++ Dokumentationsregel.md | 61 ++++++++++++++++++++++++++++++ Git-Arbeitsablauf.md | 75 +++++++++++++++++++++++++++++++++++++ Home.md | 26 +++++++++++++ SSH-Schlüssel.md | 51 +++++++++++++++++++++++++ Technischer-Zugriff.md | 58 ++++++++++++++++++++++++++++ 6 files changed, 344 insertions(+) create mode 100644 Betrieb-und-Wiederanlauf.md create mode 100644 Dokumentationsregel.md create mode 100644 Git-Arbeitsablauf.md create mode 100644 Home.md create mode 100644 SSH-Schlüssel.md create mode 100644 Technischer-Zugriff.md diff --git a/Betrieb-und-Wiederanlauf.md b/Betrieb-und-Wiederanlauf.md new file mode 100644 index 0000000..ad3d430 --- /dev/null +++ b/Betrieb-und-Wiederanlauf.md @@ -0,0 +1,73 @@ +# Betrieb und Wiederanlauf + +Diese Seite ist nur die lesbare Kurzfassung. Die maßgebliche Betriebsdokumentation liegt im Repository unter `Gitea/Betrieb.md` und `Gitea/Gitea-Server.md`. + +## Dienste + +Auf dem Server laufen: + +```text +gitea.service +nginx +certbot.timer +``` + +Gitea selbst lauscht lokal auf: + +```text +127.0.0.1:3000 +``` + +Der öffentliche Zugriff läuft über nginx: + +```text +80 -> HTTP, Weiterleitung auf HTTPS +443 -> HTTPS +22 -> SSH +``` + +## Status prüfen + +```bash +systemctl is-active gitea +systemctl is-active nginx +curl -I https://git.madformed.de/ +``` + +## Logs + +```bash +journalctl -u gitea -n 100 --no-pager +journalctl -u nginx -n 100 --no-pager +``` + +## Neustart + +```bash +systemctl restart gitea +nginx -t +systemctl reload nginx +``` + +## Backup-Mindestumfang + +Mindestens sichern: + +```text +/etc/gitea/app.ini +/var/lib/gitea +/etc/nginx/sites-available/gitea +/etc/letsencrypt +``` + +Private Schlüssel, Tokens und Zertifikatsschlüssel gehören in geschützte Backups, nicht in das Repository oder die Wiki. + +## Wiederanlaufprinzip + +Aus den bestehenden Routinen für `git.jochen-hanisch.de` übernommen: + +- Repo und Vault sind die maßgebliche Betriebsgrundlage. +- Wiki ist nur lesbare Ableitung. +- Betriebswissen, das bei einem Gitea-Ausfall gebraucht wird, darf nicht ausschließlich in Gitea liegen. +- Änderungen, Entscheidungen, Ereignisse und Komplikationen zuerst im Repository dokumentieren. + diff --git a/Dokumentationsregel.md b/Dokumentationsregel.md new file mode 100644 index 0000000..d234695 --- /dev/null +++ b/Dokumentationsregel.md @@ -0,0 +1,61 @@ +# Dokumentationsregel + +Diese Regel ist aus den bestehenden Webapps-/Gitea-Routinen abgeleitet. + +## Orte + +```text +Repository = maßgebliche Dokumentation +Wiki = lesbare Browserfassung +Issues = steuerbare Arbeit +Boards = Statusdarstellung +Chats = laufende Klärung +``` + +## Reihenfolge + +Bei technischen oder betrieblichen Änderungen: + +1. Änderung durchführen. +2. Funktion prüfen. +3. Maßgebliche Repo-Dokumentation aktualisieren. +4. Committen und pushen. +5. Falls sinnvoll: Wiki als lesbare Ableitung nachziehen. + +## Was ins Repository gehört + +Ins Repository gehören: + +- Betriebsnotizen +- konkrete Pfade und Dienstnamen +- Wiederanlauf- und Backup-Logik +- SSH- und Git-Zugriffsregeln +- Änderungsprotokoll +- technische Entscheidungen + +## Was in die Wiki gehört + +In die Wiki gehören: + +- Überblick und Einstieg +- lesbare Herleitung +- Querverweise +- kurze Arbeitsabläufe +- nicht-sensitive Zugriffsinformationen +- Zusammenfassungen für Menschen, die nicht direkt auf dem Server arbeiten + +## Was nirgends öffentlich dokumentiert wird + +Nicht in Wiki oder Repository: + +- Passwörter +- private Schlüssel +- Tokens +- geheime Zertifikatsschlüssel +- vollständige Server-Backups +- personenbezogene Zugangsdaten über das notwendige Maß hinaus + +## Grundsatz + +Wenn ein Inhalt für Störung, Wiederanlauf oder Sicherheit gebraucht wird, gehört die maßgebliche Fassung ins Repository oder in ein geschütztes Backup, nicht nur in die Wiki. + diff --git a/Git-Arbeitsablauf.md b/Git-Arbeitsablauf.md new file mode 100644 index 0000000..d6022ba --- /dev/null +++ b/Git-Arbeitsablauf.md @@ -0,0 +1,75 @@ +# Git-Arbeitsablauf + +## Klonen + +Per SSH: + +```bash +git clone git@git.madformed.de:jochen-hanisch/gitea.git +``` + +Falls der dedizierte Schlüssel nicht global in `~/.ssh/config` steht: + +```bash +GIT_SSH_COMMAND='ssh -i ~/.ssh/id_ed25519_madformed_gitea -o IdentitiesOnly=yes' \ + git clone git@git.madformed.de:jochen-hanisch/gitea.git +``` + +## Normaler Arbeitsfluss + +```bash +git status +git pull +git add +git commit -m "Kurze Beschreibung" +git push +``` + +Vor jedem Push sollte der Arbeitsstand geprüft werden: + +```bash +git status --short --branch +git log --oneline -5 +``` + +## Remote prüfen + +```bash +git remote -v +``` + +Soll für das Dokumentationsrepo: + +```text +origin git@git.madformed.de:jochen-hanisch/gitea.git +``` + +## Wiki bearbeiten + +Die Gitea-Wiki ist ein eigenes Git-Repository. + +```bash +git clone git@git.madformed.de:jochen-hanisch/gitea.wiki.git +``` + +Danach wie gewohnt: + +```bash +git add . +git commit -m "Aktualisiere Wiki" +git push +``` + +## Keine Secrets committen + +Nicht committen: + +- private SSH-Schlüssel +- Passwörter +- Tokens +- `.env` mit echten Zugangsdaten +- Zertifikatsschlüssel +- Server-Backups mit Konfiguration und Secrets + +Öffentliche Schlüssel, Fingerprints und nicht-sensitive Pfade dürfen dokumentiert werden. + diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..cbe2d9f --- /dev/null +++ b/Home.md @@ -0,0 +1,26 @@ +# Mad4Med Gitea Wiki + +Diese Wiki ist die lesbare Browser-Fassung für den Git- und Gitea-Zugriff bei Mad4Med. + +Die maßgebliche technische Dokumentation liegt weiterhin im Repository: + +- `Gitea/README.md` +- `Gitea/Gitea-Server.md` +- `Gitea/Betrieb.md` +- `Gitea/Persönlicher Git-Zugriff.md` +- `Gitea/Änderungsprotokoll.md` + +## Seiten + +- [[Technischer Zugriff]] +- [[SSH-Schlüssel]] +- [[Git-Arbeitsablauf]] +- [[Betrieb und Wiederanlauf]] +- [[Dokumentationsregel]] + +## Grundsatz + +Die Wiki erklärt Zusammenhänge und macht den Zugriff im Browser verständlich. Sie ersetzt nicht die versionierten Betriebsnotizen im Repository. + +Passwörter, private Schlüssel, Tokens und Secrets gehören nicht in die Wiki. + diff --git a/SSH-Schlüssel.md b/SSH-Schlüssel.md new file mode 100644 index 0000000..a8e3958 --- /dev/null +++ b/SSH-Schlüssel.md @@ -0,0 +1,51 @@ +# SSH-Schlüssel + +## Persönlicher Schlüssel für Jochen + +Für Mad4Med wird ein eigener SSH-Schlüssel verwendet. + +```text +Privater Schlüssel: ~/.ssh/id_ed25519_madformed_gitea +Öffentlicher Schlüssel: ~/.ssh/id_ed25519_madformed_gitea.pub +Gitea-Key-Titel: MacBook Pro Jochen +Fingerprint: SHA256:gb1/Fl7cXyrY5cFfKjf3hdaoe2w5fQureKhtNenTqg4 +``` + +Der öffentliche Schlüssel ist im Gitea-Konto `jochen-hanisch` hinterlegt. + +Der private Schlüssel wird nicht im Repository und nicht in der Wiki gespeichert. + +## Verbindungstest + +```bash +ssh -i ~/.ssh/id_ed25519_madformed_gitea -o IdentitiesOnly=yes -T git@git.madformed.de +``` + +Erwartete Ausgabe: + +```text +Hi there, jochen-hanisch! You've successfully authenticated with the key named MacBook Pro Jochen, but Gitea does not provide shell access. +``` + +Der Hinweis auf fehlenden Shell-Zugang ist normal. Der SSH-Zugang dient hier Git, nicht einer interaktiven Shell. + +## Repo-lokale Schlüsselbindung + +Im lokalen Dokumentationsrepository ist gesetzt: + +```bash +git config core.sshCommand 'ssh -i ~/.ssh/id_ed25519_madformed_gitea -o IdentitiesOnly=yes' +``` + +Damit nutzt nur dieses Repository den Mad4Med-Gitea-Schlüssel. Die globale Git- und SSH-Konfiguration bleibt unberührt. + +## Abgrenzung zu GitHub + +Aus der vorhandenen Webapps-/GitHub-Dokumentation wurde das Muster übernommen: + +```text +id_ed25519.pub -> GitHub-Key +``` + +Für Mad4Med wird der Zugriff bewusst getrennt geführt. Der bestehende GitHub-Schlüssel wird nicht wiederverwendet. + diff --git a/Technischer-Zugriff.md b/Technischer-Zugriff.md new file mode 100644 index 0000000..cd02264 --- /dev/null +++ b/Technischer-Zugriff.md @@ -0,0 +1,58 @@ +# Technischer Zugriff + +## Weboberfläche + +```text +URL: https://git.madformed.de +``` + +Gitea läuft hinter nginx und ist per Let's Encrypt abgesichert. + +## Repository + +Das Dokumentationsrepository liegt unter: + +```text +https://git.madformed.de/jochen-hanisch/gitea +``` + +Aktueller bevorzugter Git-Zugriff für Jochen: + +```text +git@git.madformed.de:jochen-hanisch/gitea.git +``` + +HTTPS funktioniert ebenfalls, ist aber für dieses lokale Repository inzwischen durch SSH ersetzt. + +## Konten + +Aktuell dokumentierte Admin-Konten: + +```text +jochen-hanisch +matthias-filkorn +alexander-wortmann +``` + +Startkennwörter, persönliche Passwörter und Tokens werden nicht in der Wiki dokumentiert. + +## Serverzugriff + +Der Server ist per SSH erreichbar: + +```bash +ssh root@217.160.208.251 +``` + +Dieser Zugang ist Serveradministration, nicht dasselbe wie Git-Zugriff auf Gitea. + +Für normale Repository-Arbeit soll Gitea über Web, HTTPS oder SSH-Git genutzt werden. + +## Trennung der Ebenen + +- Server-SSH: Betrieb, Wartung, Dienste, Logs. +- Gitea-Web: Benutzer, Repositories, Einstellungen. +- Git-SSH/HTTPS: Klonen, Committen, Pushen, Pullen. +- Wiki: lesbare Einordnung und Querverweise. +- Repo-Dokumentation: maßgebliche Betriebs- und Zugriffsdokumentation. +