Lege technische Zugriffswiki an

2026-04-27 23:03:25 +02:00
commit 1d9aaecb85
6 changed files with 344 additions and 0 deletions
+73
@@ -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.
+61
@@ -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.
+75
@@ -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 <dateien>
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.
+26
@@ -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.
+51
@@ -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.
+58
@@ -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.