GitBucket auf dem Raspberry Pi einrichten

 

Einleitung

Hier ist meine kurze Anleitung für die Einrichtung von GitBucket auf dem Raspberry Pi.

Die Anleitung ist noch nicht vollständig!

 

Betriebssystem

Als Betriebssystem habe ich auf dem Raspi "Raspbian" eingerichtet. Aus dem Grund, dass dieses auf dem Debian-System basiert, sollte die folgende Anleitung auch für alle Debian-Systeme gelten.

Für meine Zwecke habe ich eine MicroSD-Karte mit der Größe von 128GB gewählt. Diese soll dafür ausreichen und ist halbwegs preiswert.

Bevor es mit der Installation und Einrichtung von Git weiter geht, sollte das Betriebssystem auf den neusten Stand gebracht werden. Dafür müssen folgende Befehle in der Shell ausgeführt werden:

sudo apt-get update
sudo apt-get upgrade

 

Software

Für die Einrichtung von GitBucket werden folgende Softwarepakete benötigt:

 
Paketname Beschreibung
openjdk-11-jre
 Java Runtime
git-core Git
GitBucket GitBucket

 

 

 

 

 

Mit dem folgenden Befehl werden die Pakete installiert:

sudo apt-get install git-core openjdk-11-jre

Das Betriebssystem installiert alle ausgewählten Pakete mit den automatisch ermittelten Abhängigkeiten. Es kann sein, dass einige davon schon installiert sind.

Mit folgenden Befehlen wird das Programmverzeichn erstellt und in dieses gewechselt:

sudo mkdir /var/gitbucket
sudo mkdir /var/gitbucket/data

cd /var/gitbucket

Jetzt muss GitBucket-Datei "gitbucket.war" heruntergeladen:

sudo wget https://github.com/gitbucket/gitbucket/releases/download/4.35.3/gitbucket.war

und gestarten werden:

sudo java -Xms128m -Xmx256m -jar gitbucket.war --port=8080 --gitbucket.home=/var/gitbucket/data

Es können auch noch zus. Parameter angegeben werden, die unter https://github.com/gitbucket/gitbucket beschrieben sind.
Folgende Parameter sind aktuell möglich:

  • --port=[NUMBER]
  • --prefix=[CONTEXTPATH]
  • --host=[HOSTNAME]
  • --gitbucket.home=[DATA_DIR]
  • --temp_dir=[TEMP_DIR]
  • --max_file_size=[MAX_FILE_SIZE]
  • --upload_timeout=[MAX_UPLOAD_TIMEOUT]

Über die Adresse http://192.168.0.2:8080 kann die Website aufgerufen werden, wobei die IP-Adresse durch die euren Raspis ersetzt werden muss.

Die Standard-Anmeldung lautet:

Benutzer: root
Kennwort: root

 

Verbindung zu den Repositories

Nach der Einrichtung der Repositories und des Webservers kann ich schon auf diese zugreifen. Der einfachste Zugriff zum Testen ist ein Aufruf der Repository-Adressen im Browser, z.B.

http://192.168.0.2/git/root/projekt1.git
http://192.168.0.2/git/root/projekt2.git

Die IP-Adresse ist durch die richtige von dem Raspi bzw. durch eine externe Adresse zu ersetzen.

Der Browser-Zugriff ist aber nicht für die Arbeit eines Entwicklers geeignet, weswegen ich mir TortoiseGit installiert habe. Es gibt auch noch SourceTree- und Fork-Programme, die auch Git-Flow und Git-LFS unterstützen und die Arbeit deutlich vereinfachen.

Für den Zugriff auf die Repositories aus den Programmen werden die gleichen http-Adressen benutzt.

 

Sicherheit

Evtl. können sie auf die Webseite von Außen nicht zugreifen und müssen noch den Netzwerkport in der Firewall freischalten, wobei ich es unter dem Raspi nicht brauchte:

sudo firewall-cmd --permanent --add-port=8080/tcp

Unter der folgenden Adresse ist beschrieben, wie ein Apache-Server als HTTPS-Proxy eingerichtet werden kann, um einen SSL-Zugriff auf die GitBucket-Seite zu ermöglichen:

https://docplayer.org/47717467-Apache2-reverse-proxy-mit-dem-raspberry-pi-fuer-einen-sicheren-zugriff-aus-dem-internet.html

oder

https://goldtech.de/wp/index.php/172/apache2-mit-lets-encrypt-ssl-zertifikat-und-reverseproxy-installieren

Ausserdem kann, wie unter dem Link  3 beschrieben ist, der automatische Start von GitBucket unter einem User mit begrenzten Zugriffsrechten eingerichtet werden.

 

Links

https://gitbucket.github.io/

https://github.com/gitbucket/gitbucket

https://github.com/gitbucket/gitbucket/wiki/Installation-on-a-Raspberry-Pi