Gitlab: zip-Download leer
Ich lasse mein Gitlab über die offizielle Debian Repo unter 9.5 laufen und habe kürzlich festgestellt, dass ich in meinen Projekten nichts über das Webinterface herunterladen kann, denn die zip-Dateien und auch andere komprimierte Formate sind leer: die Dateien haben 0kb.
Da ich nginx verwende, fiel der Verdacht erst auf den Webserver, aber das konnte eigentlich nicht sein.
Die Lösung war dann recht einfach: in meiner gitlab Konfiguration (/etc/gitlab/gitlab.rb) war workhorse einkommentiert und der Unix Socket definiert:
gitlab_workhorse['enable'] = true # gitlab_workhorse['ha'] = false gitlab_workhorse['listen_network'] = "unix" # gitlab_workhorse['listen_umask'] = 000 gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/socket"
Allerdings fehlte das Paket gitlab-workhorse.
apt-get install gitlab-workhorse
Da dann nginx noch ein Permission Problem anzeigte, als ich in meinem nginx upstream Setting auf den Unix-Socket umgestellt hatte:
upstream gitlab { server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0; keepalive 32; }
2018/07/30 08:09:41 [crit] 29172#29172: *700 connect() to unix:/var/opt/gitlab/gitlab-workhorse/socket failed (13: Permission denied) while connecting to upstream, client: 62.218.34.132, server: gitlab.neuim.net, request: "GET / HTTP/2.0", upstream: "http://unix:/var/opt/gitlab/gitlab-workhorse/socket:/", host: git.xy.de
habe ich dem User noch die entsprechenden Rechte gegeben:
usermod -aG gitlab-www www-data service nginx restart
Fertig. Damit Downloads funktionieren, muss man Gitlab scheinbar über den Unix Socket arbeiten lassen.