gitlab_workhorse_dir is set incorrectly
I see this error because gitlab-workhorse is not installed at /home/git/gitlab-workhorse.
/etc/init.d/gitlab: 44: cd: can't cd to /home/git/gitlab/../gitlab-workhorse
/etc/init.d/gitlab: 44: cd: can't cd to /home/git/gitlab/../gitlab-workhorse
This is caused by,
gitlab_workhorse_dir=$(cd $app_root/../gitlab-workhorse && pwd)
It could just be
gitlab_workhorse_dir=$app_root/../gitlab-workhorse
This variable will be set correctly by sourcing /etc/default/gitlab in my case (debian) and the above assignment will work in other cases. See below for a test case,
praveen@pod:~$ app_root=/usr/share/gitlab
praveen@pod:~$ gitlab_shell_dir=$app_root/../gitlab-shell
praveen@pod:~$ ls $gitlab_shell_dir/
bin config.yml gitlab-shell.log hooks VERSION
praveen@pod:~$ SHELL_ROOT_PATH=/usr/share/gitlab-shell sudo -u gitlab -E $gitlab_shell_dir/bin/gitlab-shell
Welcome to GitLab, Anonymous!