It might just be me, but it seems like a section is missing. In start and test it says visit your domain, however unless I am missing something pretty major that shouldn't work since neither apache nor nginx are ever setup / pointed to the webapp.--Theflyingfool (talk) 08:15, 8 April 2014 (UTC)
Resolving dependencies and testing gitlab on remote server
This is a reply to the question above, as well some things that was missed during the installation I made.
I'm not sure if it should be added, so I'm putting it here for discussion:
You should install the following packages, before installing the GitLab from AUR:
Also, after finally starting the gitlab with unicorn, if you have installed gitlab on a remote server and not locally, you won't be able to access it using domain:8080. It is even mentioned in /etc/webapps/gitlab/unicorn.rb. In order to be able to access it, I have changed 127.0.0.1 to the servers IP, and made sure that shell.yml reflect the change as well (including the port).
After restarting the daemons, I was able to access giltab using domain:8080.
After completing the steps above I continued to nginx installation, however, being not familiar with nginx it took me some time, so I'll put it here for discussion as well. This is the full guide, I know that some things are already mentioned in the page, just not very organized.
After installing nginx, it is mentioned that you should make the following command:
# ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
However, it will not work, since there is no site-available or sites-enabled directories, with include section in nginx.conf. It is true however in debian installations, but since we're in arch everything comes with no changes from the distro side.
Since there was no site-available file to copy the vhosts from, I read the official gitlab guide, and found that the file is located in /usr/share/webapps/gitlab/lib/support/nginx/ after installing the gitlab package.
I just put everything inside the file to nginx.conf inside the http section, just before the last
}, and changed the following:
server_nameto reflect my server's domain.
proxy_passconfig to reflect unicorn listening address. I just put
localhost:8080in nginx.conf and set back unicorn.rb to point to 127.0.0.1 as it was before (including the port 8080).
serverto point to
unix:/usr/share/webapps/gitlab/tmp/sockets/gitlab.socket;- I'm NOT sure about this. I also had a permissions problem, so I changed group permission to http for the sockets folder.
- Point the config
- Comment out the gzip section - it was not working for me, and made the site with no assets, so I didn't bother with it.
Edit shell.yml as follows:
gitlab_url: "http://domain/" - domain is the same as server_name in nginx.conf.
Also make sure that in gitlab.yml the host is set to your domain and the port is the same as in nginx.conf.
Restart the daemons:
$ systemctl restart gitlab-sidekiq gitlab-unicorn nginx
Should be working now.
As I said, this is my rough way of installing it, so before I put it on the page, would like to know if that's the right steps.
Using Sudo instead of su -
I don't have any root password on my pi, only my user password (for sudo). As the rest of the documentation uses sudo, it would be better to use sudo here too : https://wiki.archlinux.org/index.php?title=Gitlab§ion=13
- I'm also having issues without being root, unfortunately there are more issues, and I couldn't install (the latest version) at all.
- Going to add Stub template, because more commands listed doesn't seem to work (correctly).
- Beta990 (talk) 11:42, 21 December 2015 (UTC)
I went through the install, I didn't make it work yet but I have a few questions on confusing instructions:
-I want to use my already set-up nginx webserver. Should I still use reddis, and the gem/bundle install commands ?
- Yes, you should proxy-pass nginx to unicorn. Redis is used for internal communication, gem/bundle for setup. You can find good explanations at the GitLab website. DenBrahe (talk) 21:43, 19 April 2016 (UTC)
-What are the pros/cons to use the AUR package v. using the official package ?
- AUR package is finetuned for Arch to work with systemd and linux conventions and things like that (don't know exactly). Basically if you're not an expert, you're better off with the AUR package. Wiki page should get an update though. DenBrahe (talk) 21:43, 19 April 2016 (UTC)
-How can we uninstall the components installed by the gem/bundle install commands ?
-the su - gitlab command is not working but sudo -u gitlab works (as mentionned in this thread), is that ok ?
-I don't have any shell.yml file, which is mentionned only once for the HTTPS configuration, is it normal ?
-what is /dev/null in the nginx config ?
-how do I setup resque.timer ? I can't load it? ('unit resque.timer not found).
I am adding my two cents to this section as well, because after trying for around 5 hours, I am giving up on the gitlab package and will try Gogs/Gitea instead. As I cannot say for sure what are actual problems and which are design choices made by the package maintainer that are just not well documented, someone else who has the necessary knowledge has to decide which changes are appropiate to make.
This is summary of the problems/confusion I faced:
- The package depends on ruby2-3, which does not provide the bin 'ruby'. This throws off the environment check at the very least, yet no note is made of that.
- Despite stating that the Arch package uses the user gitlab instead of git, the latter keeps getting mentioned in the article, sometimes even together with gitlab.
- As described below, rvm seems to be neither necessary nor supported, yet the article implies that its usage is good practise.
- All GitLab files seem to belong to root, leaving the gitlab with insufficient rights to save config files. As a result, at the very least the copy&paste solutions provided by the environment checks cannot be used because of that.
- The article states that Unicorn is a HTTP server on its own, yet GitLab is shipped with nginx by default.
- The article says that gitlab-workhorse is optional, yet at the very least the current Apache examples provided by GitLab all assume it to be configured. The package itself also depends on it.
Right now, it might be a better idea to intall GitLab from source, as the official documentation is more up-to-date and can be used with less adjustments. --Krukai (talk) 09:15, 8 September 2017 (UTC)
Another small thing: the wiki page says we should enable
gitlab-unicorn services, but these are already part of
gitlab.target, so I believe there is no need in enabling them separately. --Nplatis (talk) 06:04, 26 September 2017 (UTC)
Check that the secret file exists
The Initialize Gitlab database section tells us to check if there's a secret file at /etc/webapps/gitlab/secret, while the file is found at /etc/webapps/gitlab/secrets.yml now. Sava (talk) 08:21, 25 September 2016 (UTC)
Regarding 'Running GitLab with rvm'
According to Gitlab#Running_GitLab_with_rvm, Ruby version 1.9.3 is recommended. However, GitLab seems to recommend 2.3 since at least v9.2.1: .
Also, the section is not very clear whether rvm should be downloaded as the new user or not. It seems that this should be the case, but the section only mentions it after the first step.
Finally, it refers to the user
git, while Arch installs Gitlab for the user
gitlab by default.
Does the section need to be updated, or am I missing something here? Right now, I feel like installing GitLab without rvm. --Krukai (talk) 09:50, 6 September 2017 (UTC)
- This section still needs to be updated. I haven't performed a test of that topic yet. Feel free to update that section as I don't plan to use Gitlab with rvm any time soon (at least professionally). Regards. -- wget (talk) 14:54, 6 September 2017 (UTC)
- Thanks for the heads-up, but I don't see any reason right now to use rvm, either, as the package depends on exactly the Ruby version needed. I assume that once GitLab moved to Ruby 2.4, the package maintainer will as well. Perhaps the section could use a note indication something along those lines. --Krukai (talk) 15:17, 6 September 2017 (UTC)