Files

200 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎬 Bratonien Tech Kapitel 15: Git (Self-Hosted mit Gitea)
🎵 **Intro**
Szene: Talking Head (du oder Barney), Bratonien Tech Logo eingeblendet.
**Voiceover / Gesprochen:**
„Hallo und herzlich willkommen bei Bratonien Tech.
Ich bin [dein Name oder Barney] von Bratonien Cosplay.
Dieses Format ist für alle großen und kleinen Technik-Streamer, Nerds oder die, die es noch werden wollen.
In dieser Reihe bauen wir aus einem alten Office-PC ein komplettes Homelab.
Oder wie ich es gerne nenne: Bratoniens Kontrollzentrum.
Heute beschäftigen wir uns mit Git genauer gesagt mit Gitea.
Damit holen wir uns Versionskontrolle, Zusammenarbeit und Datensicherheit ins eigene Haus.
Und das Beste: wir können trotzdem eine Brücke zu GitHub schlagen.“
---
## 1. Warum Gitea?
Szene: Logos (GitHub, GitLab, Gitea).
**Voiceover:**
„Viele nutzen GitHub oder GitLab. Das ist praktisch solange man den externen Dienst nutzen darf.
Aber was, wenn euer Account gesperrt wird? Oder ihr einfach selbst bestimmen wollt, wo eure Daten liegen?
Genau dafür setzen wir Gitea auf:
leichtgewichtig, schnell eingerichtet und perfekt für kleine Teams oder Streamer-Projekte.
So habt ihr die volle Kontrolle über eure Daten und könnt trotzdem GitHub als Schaufenster nutzen.“
---
## 2. Voraussetzungen
Szene: Textfolie mit Specs.
**Voiceover:**
„Wir arbeiten in einem Debian 12 LXC-Container.
Ein vCore, 512 MB bis 1 GB RAM und 5 GB Speicher reichen völlig aus.
Alles, was ihr braucht, habt ihr also wahrscheinlich schon daheim stehen.“
---
## 3. Installation vorbereiten
Szene: Terminalaufnahme.
**Voiceover:**
„Wir starten wie immer mit einem Update und den Basis-Tools.“
```bash
apt update && apt upgrade -y
apt install -y curl gnupg lsb-release ca-certificates nano
```
---
## 4. Docker & Compose installieren
Szene: Terminal, Befehlseingaben mit Einblendung „Docker installieren“.
**Voiceover:**
„Anschließend installieren wir Docker und Docker Compose das Fundament für unseren Gitea-Container.“
```bash
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
```
---
## 5. Verzeichnis & Compose-Datei
Szene: Editor mit docker-compose.yml.
**Voiceover:**
„Jetzt legen wir ein Verzeichnis für Gitea an und schreiben die Compose-Datei.
Damit definieren wir, wie der Container läuft.“
```yaml
version: "3"
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3
restart: always
ports:
- "3000:3000"
- "222:22"
volumes:
- ./gitea:/data
```
**Voiceover-Ergänzung:**
„Die Werte USER_UID und USER_GID sorgen dafür, dass die Dateien dem gleichen Benutzer gehören wie in unserem LXC.
So können wir später auch außerhalb des Containers ohne Root-Rechte auf die Daten zugreifen.“
---
## 6. Container starten & prüfen
Szene: Terminal.
**Voiceover:**
„Wir starten den Container und prüfen, ob Docker läuft und Gitea wirklich aktiv ist.“
```bash
docker compose up -d
systemctl status docker
docker ps
```
---
## 7. Browser-Aufruf & Ersteinrichtung
Szene: Browser → http://IP:3000 → Setup-Seite.
**Voiceover:**
„Im Browser sehen wir jetzt die Setup-Seite.
Für den ersten Test reicht die IP mit Port 3000.
Dauerhaft wollen wir Gitea natürlich über eine Subdomain mit HTTPS betreiben.
Wie das geht, haben wir bereits in den Kapiteln zu Nginx Proxy Manager und DynDNS gezeigt die Links findet ihr unten in der Beschreibung.“
Szene: Setup-Formular.
**Voiceover:**
„Hier ändern wir den SSH-Port auf 222 und legen unseren Admin-Benutzer an.
Ein Klick auf Installieren und unser eigenes Git-System ist fertig.“
Ergänzung für Vollständigkeit:
- Repo-Verzeichnis `/data/git/repositories`
- LFS leer lassen
- Gravatar deaktivieren, Offline-Modus aktivieren
- Admin-Mail: `admin@localhost` reicht
---
## 8. Erstes Repository
Szene: Gitea-Oberfläche → Neues Repo.
**Voiceover:**
„Wir melden uns mit unserem Admin an und erstellen ein erstes Repository.
Name vergeben, Sichtbarkeit einstellen fertig.
Für Content nutzen wir hier CC BY als Lizenz für echten Code wäre MIT üblich.“
---
## 9. Lokales Repo pushen
Szene: Terminal lokal.
**Voiceover:**
„Auf unserem Rechner initialisieren wir Git, verbinden es mit Gitea und machen den ersten Commit.“
```bash
mkdir testprojekt
cd testprojekt
git init
git remote add origin http://<IP>:3000/admin/testprojekt.git
echo "# Hallo Gitea" > README.md
git add .
git commit -m "Erster Commit"
git push -u origin master
```
**Voiceover-Ergänzung:**
„Wer lieber SSH nutzt: denkt daran, Port 222 einzutragen und vorher euren SSH-Key im Gitea-Profil zu hinterlegen.“
---
## 10. GitHub-Verbindung
Szene: Gitea-Repo → Einstellungen → Mirroring.
**Voiceover:**
„Das Highlight: Wir können Repos mit GitHub spiegeln.
So arbeiten wir privat auf unserem eigenen Git, haben aber gleichzeitig ein Backup oder präsentieren Projekte öffentlich auf GitHub.
Ich trage hier die GitHub-URL ein, aktiviere Push-Mirroring und schon laufen alle Änderungen automatisch nach GitHub.“
---
## 11. Fazit & Ausblick
Szene: Dashboard von Gitea mit Repo-Übersicht.
**Voiceover:**
„Damit haben wir Gitea installiert, eingerichtet, unser erstes Repository erstellt und sogar die Verbindung zu GitHub aufgebaut.
Für mich persönlich ist das ein echter Gamechanger: ich weiß, dass meine Projekte bei mir sicher sind und ich entscheide, was auf GitHub landet.
Im nächsten Kapitel kümmern wir uns um ein eigenes Wiki damit wir Projekte nicht nur versionieren, sondern auch dokumentieren können.“
---
🎵 **Outro**
Szene: Bratonien Tech Outro / Logo.
**Voiceover:**
„Wenn dir dieses Video gefallen hat, abonniere Bratonien Tech und schau dir auch die anderen Kapitel unserer Reihe an.
Bis zum nächsten Mal in Bratonien!“