Docker-gitlab: Cloning over HTTPS not working

Created on 2 Jul 2017  路  9Comments  路  Source: sameersbn/docker-gitlab

I just upgraded to 9.3.0 and somehow it is not possible to clone over https (ssh works fine). It says HTTP 500. This is very annoying as the Gitlab runner seems to use HTTPS :-(

In the gitlab-workhorse.log file I see that the error may seem to be related to Gitaly:

2017/07/02 17:50:13 error: GET "/***/***.git/info/refs?service=git-upload-pack": handleGetInfoRefs: handleGetInfoRefsWithGitaly: Error receiving response from server: rpc error: code = 5 desc = GetRepoPath: not a git repository '/home/git/repositories/***/***.git'

(I removed sensitive parts)

Does anyone else have this problem? I am not sure if it related to Gitlab itself or this dockerised version of Gitlab :-)

bug in progress

Most helpful comment

Same here. I checked it only the ssh version. I will dig into it now.

All 9 comments

Same problem here. I get the error "The requested URL returned error: 500" as soon as I try to clone/fetch/push anything from/to the server

Same here. I checked it only the ssh version. I will dig into it now.

Okay. On the first view from your Message. It seems that the storage path is not correct /home/git/repositories/***/***.git it should be like /home/git/gitlab/respositories

My Assumption was correct I did the following in a running container and it worked. Here is my workaround for that if you don't won't to upgrade. But be careful with this.

Fix Gitaly (Temporarily)

$ docker exec -it gitlab_gitlab_1 /bin/bash
$ cd /home/git/gitaly
$ editor config.toml

Change Gitaly config.toml

[[storage]]
name = "default"
path = "/home/git/repositories/"

to

[[storage]]
name = "default"
path = "/home/git/data/repositories/"

Restart the Gitaly proccess

$ ps aux | grep gitaly | awk '{print $2}'
# There should be something like this
# git       7469  0.0  0.0 305016 12592 ?        Sl   16:20   0:00 /usr/local/bin/gitaly /home/git/gitaly/config.toml
# Now kill the proccess
$ kill 7469

After that supervisor will spawn a new gitaly proccess with the change config.toml and it should work now.

@frostieDE I will work now on the correct implementation and add the missing test case.

I assume that this fix is only temporarily as it gets reverted on the start of the container?

You don't need to restart the container ;)

I'm working now on a correct fix and it will be in 9.3.0-1 available

Thank you :-)

I'm had a similar problem, but when upgraded from 9.2.6 to 9.3.5.

Gitaly don't running because directory /home/git/gitlab/tmp/sockets/private is missing.

My workaround:

docker exec -ti gitlab bash
mkdir /home/git/gitlab/tmp/sockets/private && chown git: /home/git/gitlab/tmp/sockets/private -R 
supervisorctl start gitaly
supervisorctl stop gitlab-workhorse
supervisorctl start gitlab-workhorse

@solidnerd "install_template" fix that too?

Thanks.

Was this page helpful?
0 / 5 - 0 ratings