GIT-Repositories selbst hosten: GitLab als Docker-Container starten

Wer seine GIT-Repositories selbst hosten will, findet mit GitLab eine Alternative zu GitHub. GitLab bietet eine komfortable Weboberfläche für das Verwalten,  Bearbeiten und Deployment von GIT-Projekten.  

Docker Basics
Docker ermöglicht es, Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabhängige isolierte Umgebung:
Das OS spielt also keine Rolle, vorausgesetzt Docker lässt sich installieren.
Beim ersten Start eines Containers, lädt Docker selbstständig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Dank Docker ist die Installation in wenigen Minuten startklar. Es sollte allerdings genügend freier Arbeitsspeicher vorhanden sein, denn im Betrieb beschlagnahmt GitLab ca. 4GB und zudem ständig etwas CPU im Hintergrund. Dabei reagiert die Weboberfläche auf meiner NAS etwas träge, daher habe ich GitLab mittlerweile mit Gitea ersetzt, siehe: Gitea Inbetriebnahme. Für größere Teams mit performanter Hardware bietet GitLab mehr Features als Gitea, speziell Richtung Integration und Delivery: CI/CD.

Damit GitLab ein kostenloses Letsencrypt SSL Zertifikat bekommt, wird für das Beispiel folgendes Setup vorausgesetzt: nginx-LetsEncrypt Reverse Proxy in der Praxis

Schritt für Schritt

Docker und Let's Encrypt Reverse-Proxy:

  1. Hardware auswählen: PC, Notebook oder besser: virtueller Server, Raspberry PI oder eine NAS: QNAP, Synology oder Eigenbau-NAS
  2. OS installieren: Windows, Linux
  3. Docker installieren, siehe: Docker
  4. DNS-Eintrag im Internet auf die öffentliche IP-Adresse erstellen und
    nginx-Reverse Proxy Setup: nginx-LetsEncrypt Reverse Proxy in der Praxis

Container für GitLab:

  1. docker-compose.yml anlegen
  2. Container starten

docker-compose.yml

Beim Einsatz der folgenden docker-compose.yml Datei, muss nur noch die verwendete Domain und Email-Adresse angepasst werden:

version: '3'
services:
 web:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.domain.tld'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.domain.tld'
      nginx['listen_port'] = 80
      nginx['listen_https'] = false
      nginx['proxy_set_headers'] = {
      	"X-Forwarded-Proto" => "https",
      	"X-Forwarded-Ssl" => "on"
      }
    VIRTUAL_HOST: 'gitlab.domain.tld'
    VIRTUAL_PORT: '80'
    LETSENCRYPT_HOST: 'gitlab.domain.tld'
    LETSENCRYPT_EMAIL: 'mail@domIn.tld'
  expose:
      - "80"
  volumes:
    - './config:/etc/gitlab'
    - './logs:/var/log/gitlab'
    - './data:/var/opt/gitlab' 
  restart: always

networks:
  default:
    external:
      name: webproxy

Vor dem Start werden noch die Ordner config, logs und data benötigt. Der Befehl docker-compose up -d startet Gitlab:

mkdir config
mkdir logs
mkdir data
docker-compose up -d

Beim ersten Start kann über die Weboberfläche ein root-Kennwort vergeben werden.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


Top-Artikel in diesem Bereich

Preview ioBroker installieren - Docker

ioBroker installieren - Docker

geändert: 13.11.2020 von Bernhard (Erstveröffentlichung: 06.11.2020)

Mit ioBroker können verschiedene Automatisierungslösungen oder Geräte in einem System zusammengefasst werden. Um bestimmte Gateways oder Geräte ansprechen zu können, werden in ioBroker verschiedene Adapter verwendet.  ... weiterlesen

Preview Conbee 2: Phoscon deCONZ - Docker Inbetriebnahme | Review

Conbee 2: Phoscon deCONZ - Docker Inbetriebnahme | Review

geändert: 31.07.2021 von Bernhard (Erstveröffentlichung: 20.08.2020)

Mit dem kleinen USB-Stick Conbee2 habe ich meine NAS um ein Zigbee-Gateway erweitert. Conbee2 kann auf Raspbian, Ubuntu, Docker oder Windows installiert werden. ... weiterlesen

Preview Docker Mailserver selbst betreiben | ein Erfahrungsbericht

Docker Mailserver selbst betreiben | ein Erfahrungsbericht

geändert: 03.12.2021 von Bernhard (Erstveröffentlichung: 30.03.2021)

Mit Hilfe eines geeigneten Docker-Images ist es relativ einfach einen Mailserver selbst zu betreiben. Ursprünglich habe ich den integrierten Mailserver des Hosteurope vServers (Plesk) verwendet und bin bei der Suche nach einem Ersatz auf einen sehr einfachen Docker-Container gestoßen. Der schlanke Container liefert einen Mailserver ohne grafische Verwaltungsoberfläche, kann aber mit wenigen einfachen Befehlen verwaltet werden. Für das Senden und Empfangen der Mails kann ein beliebiger Email-Clie... ... weiterlesen


Fragen / Kommentare


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.