Gitea

Gitea ist ähnlich wie GitLab oder GitHub ein Web-Frontend für Versionskontrollsoftware, wie z.B. git.

GITEA official Logo CC-BY-SA 4.0 Lauris BH / Wikipedia
GITEA official Logo CC-BY-SA 4.0 Lauris BH / Wikipedia

Es steht unter MIT-Lizenz und lässt sich hervorragend in Docker auf unserem Homeserver installieren.

git

Das Versionsverwaltungstool git wurde ab 2005 von Linus Torvalds entwickelt und ist heute in vielen Softwareentwicklungsprojekten zur Sourcecode Versionierung im Einsatz.

git unterstützt kollaborative Softwareentwicklung, Branching. Im Gegensatz zu älteren Versionierungssystemen wie cvs oder Subversion legt git zunächst ein lokales Repository an, dass du dediziert auf den Server übertragen musst.

Installation von gitea

Wie schon bekannt legst du zunächst das Directory für das Volume an.

sudo mkdir /opt/gitea
sudo chown -R pi:pi /opt/gitea

Danach speicherst du den folgenden Code in der Datei docker-compose.yml

version: "3"

services:
  pihole:
    container_name: gitea
    image: kunde21/gitea-arm:latest
    ports:
      - "3000:3000/tcp"
      - "23:22/tcp"
    # Volumes store your data between container upgrades
    volumes:
      - '/opt/gitea:/data'
    restart: unless-stopped

gitea benötigt zwei Ports: 3000 für die Benutzeroberfläche und 22 für SSH

Jetzt startest du den Container mit

docker-compose up -d

Nachdem das Image heruntergeladen wurde und der Container erzeugt ist, kannst du die Weboberfläche aufrufen

http://<hostname>:3000

Für <hostname> setzt du natürlich den hostname oder dir IP deines Raspberry Pi ein. Du landest dann auf der Konfigurationsseite für die Installation von Gitea

Konfiguration von Gitea
Olli Graf - raspithek.de
setup-screenCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Einstellungen für die Installation

Konfiguration

Lass alle Werte auf den Vorgaben stehen nur bei „ssh-Server-Domain“ und „Gitea Basis-URL“ änderst du localhost in den Hostnamen deines Raspis.

Danach klickst du auf „Gitea installieren“ Der Installationsvorgang kann u.U. eine Weile dauern. Danach rufst du erneut den obigen URL auf. Auf der Seite, die dann erscheint, klickst du auf „Registrieren“ und legst dir deinen Benutzeraccount an. Der erste Benutzer ist dann automatisch Administrator.

Nachdem du mit dem Benutzer angemeldet bist, legst du mit dem „+“ Button oben rechts ein neues Repository an.
Trag als Name „testrepo“ ein und belasse alle anderen Werte auf den Voreinstellungen. Klicke dann am Seitenende auf „Repository erstellen“.

Jetzt ist dein Repository bereit für den Einsatz. Auf deinem Raspi (oder einem anderen kannst du jetzt den git Client installieren

sudo apt install git

Und dann von dem Repository eine lokale Kopie anlegen

git clone http://gabbo:3000/raspithek/testrepo
git clone
Olli Graf - raspithek.de
git-cloneCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
git clone Kommando

Der Hinweis, dass du anscheinend ein leeres Repository gecloned hast, ist verständlich, da du noch keine Dateien dort abgelegt hast.

Dateien verwalten

Lege jetzt einfach eine Textdatei test.txt im Repositoryverzeichnis an. Der Inhalt ist beliebig.
Nach dem Speichern stellst du die Datei unter Versionsverwaltung

git add test.txt

Danach überträgst du die Datei ins lokale Repository

git commit -a

Bei jedem Commit öffnet sich ein Editor, damit du die Änderungen in dem Commit kurz beschreibst. Dies ist gerade in großen Projekten mit vielen Mitarbeitern wichtig. Daher zwingt git doch zu dieser Eingabe.

Zuletzt überträgst du deine lokalen Änderungen auf den Gitea Server.

git push -u origin master

Beim ersten Push in ein neues Repository musst du einen Branch angeben, dies ist beim weiteren Arbeiten nicht mehr nötig.

Wenn du jetzt wieder in Gitea wechselst, kannst du dir im Repository deine neue Datei anzeigen lassen.

Falls du planst, von außen auf gitea zu zugreifen, empfehle ich dir, nginx davor zu schalten, um den Port 3000 nicht nach außen öffnen zu müssen und eine verschlüsselte Verbindung zu haben.

Die neue Datei auf dem Server
Olli Graf - raspithek.de
gitea-first-pushCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Die neue Datei auf dem Server

Update vom 09.11.23: network_mode: host aus der docker-compose.yml entfernt.

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner