My gitlab
is on a virtual machine on a host server. I reach the VM with a non-standard SSH port (i.e. 766
) which an iptable rule then forward from
if you configure the ssh_port correctly in config/gitlab.yml, the webpages will show the correct repo url.
## GitLab Shell settings
gitlab_shell:
...
# If you use non-standard ssh port you need to specify it
ssh_port: 766
ps. the correct url is: ssh://git@git.domain.com:766/group/project.git
edit: after the change you need to clear caches, etc:
bundle exec rake cache:clear assets:clean assets:precompile RAILS_ENV=production
N.B.: this was tested on an old Giltab version (v5
-v6
), and might not be suitable for modern instance.
You can achieve similar behavior in a 2 step process:
config/gitlab.yml
On the server, set the port to the one you use:
ssh_port: 766
~/.ssh/config
On your machine, add the following section corresponding to your gitlab:
Host sub.domain.com
Port 766
You will need to repeat this operation on each user's computer…
In Omnibus-packaged versions you can modify that property in the /etc/gitlab/gitlab.rb
file:
gitlab_rails['gitlab_shell_ssh_port'] = 766
Then, you'll need to reconfigure GitLab:
# gitlab-ctl reconfigure
Your URIs will then be correctly displayed as ssh://git@git.domain.com:766/group/project.git
in the web interface.