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