Gitlab

Giatlab

✅ 1. Wgraj swój certyfikat i klucz do GitLaba

GitLab (omnibus) oczekuje certów w:

/etc/gitlab/ssl/

Utwórz katalog i wrzuć tam swoje pliki:

sudo mkdir -p /etc/gitlab/ssl
sudo chmod 700 /etc/gitlab/ssl

Załóżmy, że masz:

  • certyfikat: gitlab.rachuna-net.pl.crt
  • klucz prywatny: gitlab.rachuna-net.pl.key
  • (opcjonalnie) certyfikat CA: ca.crt

Skopiuj je:

sudo cp gitlab.rachuna-net.pl.crt /etc/gitlab/ssl/
sudo cp gitlab.rachuna-net.pl.key /etc/gitlab/ssl/
sudo cp ca.crt /etc/gitlab/ssl/  # jeśli potrzebne

⚠️ Nazwy plików muszą odpowiadać domenie z external_url! Czyli jeśli używasz:

external_url "https://gitlab.rachuna-net.pl"

to pliki muszą mieć nazwę:

/etc/gitlab/ssl/gitlab.rachuna-net.pl.crt
/etc/gitlab/ssl/gitlab.rachuna-net.pl.key

Daj im właściwe prawa:

sudo chmod 600 /etc/gitlab/ssl/*

✅ 2. Edytuj /etc/gitlab/gitlab.rb

Otwórz:

sudo nano /etc/gitlab/gitlab.rb

Ustaw:

external_url "https://gitlab.rachuna-net.pl"
nginx['enable'] = true
# nginx['client_max_body_size'] = '0'
nginx['redirect_http_to_https'] = true
# nginx['redirect_http_to_https_port'] = 80

##! Most root CA's are included by default
nginx['ssl_client_certificate'] = "/etc/gitlab/ssl/ca.crt"

##! enable/disable 2-way SSL client authentication
# nginx['ssl_verify_client'] = "off"

##! if ssl_verify_client on, verification depth in the client certificates chain
# nginx['ssl_verify_depth'] = "1"

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.rachuna-net.pl.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.rachuna-net.pl.key"

WAŻNE:

  • Jeśli certyfikat zawiera pełny chain (cert + intermediate), nie musisz używać ssl_certificate_chain.
  • Jeśli masz oddzielne pliki, musisz go podać.

✅ 3. Przeładuj konfigurację GitLaba

sudo gitlab-ctl reconfigure

Sprawdź status:

sudo gitlab-ctl status

✅ 4. Jeżeli masz własne CA — dodaj CA do systemu

Jeżeli certyfikat jest podpisany przez Twoje prywatne CA (Vault/MikroTik/Proxmox/etc.), to na serwerze oraz komputerach klientów musisz dodać CA.

Na samym GitLabie:

sudo cp ca.crt /usr/local/share/ca-certificates/my-ca.crt
sudo update-ca-certificates

🔍 5. Test z poziomu kontenera

curl -I https://gitlab.rachuna-net.pl

Jeśli dostaniesz 200/302 i brak błędów certyfikatu → cert działa.


🟢 6. Gotowe — GitLab działa po HTTPS z Twoim certem

Możesz wejść w:

https://gitlab.rachuna-net.pl

Jeśli chcesz, mogę:

✓ sprawdzić Twoje pliki certów (jak je wgrałeś), ✓ przygotować pełny gitlab.rb pod Twoją infrastrukturę, ✓ pomóc skonfigurować ingress/reverse proxy albo HSTS.

Daj znać, co chcesz zrobić dalej.


Instalacja gitlab-ce

Instalacja gitlab-ce