Create your own GitLab instance with Reclaim.Cloud
Published: 2021-02-19 20:42:18

So you're tired of using GitHub and you want a custom, secure alternative? Well, you've come to the right place. Today, I'm going over a really simple way to set up your own GitLab instance using reclaim.cloud. [Reclaim.cloud](https://reclaim.cloud/) is a cloud hosting service that allows you to pay for what you use rather than pay for limits and not use all of it.

## Prerequisites
1. Sign up for an account at https://reclaim.cloud/signup/
2. Upgrade to a professional account (you'll need the pro account in order to give you enough computing power to host a GitLab server)

## Set up and install
Go to https://reclaim.cloud/applications/ and click on the DevOps Lab - GitLab Server. Type in your email address and you should receive an email with a link to deploy the server.

After signing in you'll see that you can change the domain name to whatever you like (if its available) and you can change the display name in your reclaim.cloud dashboard. It should automatically pick a server region that is best for you.

Once you're done with that continue to install and you'll need to wait a while for the server to install and set up. Eventually you'll get two emails, one saying it's done installing, and a second saying it has been deployed. When you return to the dashboard, it should say the server deployed, and it will give you the root password, which you should take note of for using later.

## Configure your server
Now before we try to sign in, go to your reclaim.cloud dashboard and click on the change environment topology icon under your GitLab Server's display name. ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ak4uuqtsuo1b3txpaezp.PNG)

You should see a bunch of different configurations you can apply to your server. For this instance, we just need to increase the cloudlets to the maximum value of 32 under Vertical Scaling per Node so that our server has enough CPU power and RAM to handle running GitLab.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kaurqpl0lq3lmipqj4pg.PNG)

## Test it out!
Now you can launch your GitLab server by pressing Open in Browser or by typing your domain name into your search engine's URL search. You can sign in using the root admin sign in information that you got before, and then you can begin using GitLab like normal. 

## Why companies should use GitLab
#### Authentication
GitLab has a clear advantage over GitHub here, by giving you all the control with the security of the server and it's data. You can set the access levels to just about anything and use different groupings of employees to set these levels. In GitHub, once you're invited to a repo or group, you can only be set by read or write privileges for everything.

#### DevOps and CI
GitLab has been focusing on it's CI for much longer than GitHub, which means it is just better and more customizable (and free). You can also integrate other CI platforms if you don't want to use the standard GitLab CI. GitHub on the other hand does have CI, but it is lacking in comparison to GitLab, since it doesn't have a deployment platform and requires additional set up with other applications like Heroku.

#### Customizability
As a GitLab admin, you can basically control anything you want in your repos. Other than working with the authentication scopes of users and CI pipelines, you can track analytics, PRs, and issues, as well as manage different operations (like Kubernetes) and packages.

Read more [here](https://usersnap.com/blog/gitlab-github/)

## My Final Opinion
I personally love having the ability to customize so many different things in GitLab. I plan on using a Raspberry Pi to set up a home Git server at some point just to play around with. What's great about having the option between GitLab and GitHub, is they each have their own time and space. If I was working on a company project with a DevOps team, QE team, Developers, and Project Managers then GitLab is perfect, since you can set scopes and integrate anything. However, if you just want to upload personal apps, collaborate on open source projects, and show off your talent to potential employers, then GitHub is perfectly fine and easy to use under these circumstances. For my personal needs I like GitHub, but I hope that any team I work with in the future uses GitLab.

## How-to Video
{% youtube b_KRcWPo1lA %}