Skip to content

Gitlab workhorse not integrated #686

@XaviTorello

Description

@XaviTorello

It seems that gitlab-workhorse does not exist with the current template. The main startup process throw and error every time it's tried to start (see /home/git/gitlab/log/gitlab-workhorse.log)

Can be very interesting to integrate it, currently there are issues interacting with Gitlab through http, i.e an "git clone" through http will return an empty repo (see https://gitlab.com/gitlab-org/gitlab-ce/issues/2669#note_2176671)

Current workaround

# As root install Go (dependency for building gitlab-workhorse)
su -
apt-get install golang

# As user git
su - git

# Ensure correct pwd for tunned configurations
cd /home/git

# Fetch gitlab-workhorse
git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git

# Enter and compile workhorse
cd gitlab-workhorse
make

# Restart Gitlab
/etc/init.d/gitlab restart

# Extend nginx / override current socket at proxy_pass
## It's prefered to handle it through a new upstream, and point the proxy_pass for the desired location to it, but it's on your hands...

# the workhorse sorcket
grep workhorse_opt /etc/init.d/gitlab
# take care about the -listenAddr definition i.e $socket_path/gitlab-workhorse.socket
# this will be the new socket to define on nginx

# in my case I created a new upstream on nginx/sites-enabled/gitlab
upstream gitlab-workhorse {
    server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
}

# and creating a new location (regexing .git GETs) on nginx/include/proxy pointing to this upstream
location ~ [-\/\w\.]+\.git\/ {
    ...
    ...
    ...
    proxy_pass http://gitlab-workhorse;
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions