Files

6.3 KiB
Raw Permalink Blame History

🎬 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.“

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.“

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.“

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.“

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.“

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!“