Lege technische Zugriffswiki an
@@ -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.
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
|
||||||
Reference in New Issue
Block a user