Gitea - leichtgewichtiges Git-Hosting für eigene Repos

Gitea - leichtgewichtiges Git-Hosting für eigene Repos

Gitea ist ein schlanker, in Go geschriebener Git-Server mit Web-Oberfläche, der GitHub-ähnliche Funktionen bei minimalem Ressourcenverbrauch selbst gehostet bereitstellt.

Was ist Gitea?

Gitea entstand als Fork von Gogs und bietet eine vollständige Git-Hosting-Plattform: Repositories, Issues, Pull-Requests, Wiki, CI/CD-Integration über Gitea Actions, Packages-Registry und Organisations-Management. Im Vergleich zu GitLab ist Gitea erheblich schlanker — der gesamte Server läuft als einzelne Go-Binary und benötigt schon ab 256 MB RAM produktiv. Das macht Gitea zur idealen Wahl für private Projekte, kleine Teams und Entwickler, die ein selbst gehostetes GitHub-Äquivalent ohne Overhead suchen.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Optional: PostgreSQL oder MySQL für produktive Umgebungen (SQLite für Einzel-Nutzer ausreichend)

Compose-Beispiel

services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    restart: unless-stopped
    ports:
      - "3000:3000"
      - "2222:22"
    volumes:
      - ./data:/data
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=gitea-db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=sicheres_passwort
    depends_on:
      - gitea-db

  gitea-db:
    image: postgres:15-alpine
    container_name: gitea-db
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=gitea
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=sicheres_passwort

Hinweise

  • SSH-Port: Den SSH-Port 2222 auf dem Host freigeben, damit git clone per SSH funktioniert. In Gitea unter Site-Administration → Einstellungen → SSH-Server-Port auf 2222 setzen.
  • Registrierung deaktivieren: Für private Instanzen die öffentliche Registrierung unter Administration → Einstellungen → Dienste → Registrierung deaktivieren ausschalten.
  • Gitea Actions: Als Alternative zu GitHub Actions können Workflows direkt in Gitea ausgeführt werden — dafür einen separaten Act-Runner-Container registrieren.
  • Datensicherung: Das data-Volume enthält Repositories, Attachments und die app.ini-Konfiguration — regelmäßig sichern.