Installing and Maintaining GitLab CE on a separate website

Hello there, we are planning to provide code hosting solution to the users on our website. So basically, we will try to give users version control mechanism so they can use the website for hosting their codes. For that, installing GitLab CE seems the best solution.

We see that installation of GitLab CE is straightforward. However, we are not sure about its what all efforts / skills are needed to maintain the server so that we provide proper service to the users. To give you background, we are 2 developers ( 1 PHP and 1 frontend). So it’s really a big question as to how much efforts will be needed to run and maintain the production server with GitLab CE installed. So here are few specific questions which you can use to help us

  1. what all skills are required to maintain and smoothly run the server?
  2. what all are the activities that we will need to do continuously? (for e.g. tech support to monitor server is up and running)
  3. Is it advisable to run and maintain such a server with just 2 developers?
  4. what all are the terms of CE that we will have to take care so we don’t violate those terms (for e.g. it is mandatory to use GitLab logo even though its community edition)?
  5. how much time will be needed to install and run CE?

Any other suggestions and points are most welcomed. Thank you in advance!!

Hi! Those are great questions! I’ll try to answer them 1-1.

Basic Linux knowledge is required although if you don’t have any, I think you’ll get the hang of it. The installation process is really straightforward https://about.gitlab.com/installation/ and you can upgrade each month with one command.

If you have a monitoring system, you can use the endpoints that GitLab provides to check about its health https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html. Otherwise, setting up https://uptimerobot.com/ could also work.

GitLab CE is licensed under the MIT license, so you can check what that dictates :slight_smile: You can also change the logo and the sign up/in page to your liking: https://docs.gitlab.com/ee/customization/branded_page_and_email_header.html and https://docs.gitlab.com/ee/customization/branded_login_page.html.

For a new user, I’d say it should take you no more than 30 minutes, installing is easy. The “difficult” part is configuring it to your needs.

Here’s a few:

  1. Use a dedicated VPS, don’t install it along with other web applications, it’ll make your life easier.
  2. Start by checking the server https://docs.gitlab.com/ee/install/requirements.html
  3. Set up your DNS before installing GitLab
  4. SSH into your VPS and set up the hostname correclty (/etc/hostname) so that GitLab automatically picks it up during the reconfigure step.
  5. Follow the installation guide https://about.gitlab.com/installation
  6. Enable HTTPS https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
  7. Configure your SMTP settings https://docs.gitlab.com/omnibus/settings/smtp.html#smtp-settings
  8. Sign up to the security list https://about.gitlab.com/contact/

GitLab has a new release on the 22nd of every month with 10.0 coming in two days :slight_smile: You can optionally sign up to the general newsletter if you want to get reminded :wink:

That’s all from the top of my head!

Axil, a big thank you for providing such great inputs. What would you suggest if I am trying to use GitLab CE in an existing web application? I have a website which is built in Laravel framework with some sections already there. And now we want to add version control codes section to it under same domain. For example www.mywebsite.com/codes shall be my domain with new version control section under /codes.

Also, we would definitely like to modify the UI and some functions in future. In that case what would you suggest?

Once again, many thanks !