They call it the Full-featured DevOps platform, available both self-hosted and SaaS

https://www.youtube.com/watch?v=H-XBVD1Y8Qs

SelfHosting Gitlab

Pre-Requisites!! Just Get Docker 🐋👇

You can install it for any PC/mac/Linux at home or in any cloud provider that you wish.

It will just take few moments, this one. If you are in Linux, just

apt-get update && sudo apt-get upgrade && curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh 
#sudo apt install docker-compose -y

And install also Docker-compose with:

apt install docker-compose -y

And when the process finishes - you can use it to SelfHost other services as well.

You should see the versions with:

docker --version
docker-compose --version

#sudo systemctl status docker #and the status

Gitlab with Docker

# create working directory
sudo mkdir /home/$USER/docker/gitlab -p
# run the GitLab docker container
docker run --name gitlab -d --hostname DNSofHost -p 8000:80 -v /home/$USER/docker/gitlab/config:/etc/gitlab -v /home/$USER/docker/gitlab/logs:/var/log/gitlab -v /home/$USER/docker/gitlab/data:/var/opt/gitlab --restart=unless-stopped gitlab/gitlab-ce:latest
# output root user password
docker exec -it gitlab cat /etc/gitlab/initial_root_password
version: '3'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    hostname: DNSofHost
    ports:
      - "8010:80"
    volumes:
      - /home/$USER/docker/gitlab/config:/etc/gitlab
      - /home/$USER/docker/gitlab/logs:/var/log/gitlab
      - /home/$USER/docker/gitlab/data:/var/opt/gitlab
    restart: unless-stopped

To setup the initial password:

docker exec -it gitlab cat /etc/gitlab/initial_root_password
#docker stop gitlab
#docker rm gitlab

Using Gitlab

Gitlab Web IDE

Gitlab - Plan & Track

Other F/OSS to Plan & Track

  • Focalboard
  • Leantime
  • Timelite
  • OpenProject

Gitlab CI/CD

https://www.youtube.com/watch?v=qP8kir2GUgo

Gitlab + Firebase

https://medium.com/evenbit/automatically-deploy-to-firebase-with-gitlab-ci-546f194c44d8

Then you can Automate the deployment of your favourite SSGs: HUGO, Gatsby, Jekyll, Astro…

Gitlab + Jenkins

Setup Jenkins


FAQ

How to generate an SSH Key for Gitlab ⏬
# Step 1: Generate SSH Key
ssh-keygen -t rsa -b 4096 -C "[email protected]" -N "" -f ~/.ssh/id_rsa

# Step 2: Add SSH Key to ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

# Step 3: Copy the SSH Key
cat ~/.ssh/id_rsa.pub
# Manually copy the key output

# Step 3 (continued): Add SSH Key to GitLab (web interface)

# Step 4: Set Remote to Use SSH
cd path/to/your/project
git remote set-url origin [email protected]:username/projectname.git

# Step 5: Push to GitLab
#git push -u origin master
How to generate an SSH Key for Gitlab ⏬

A GPG (GNU Privacy Guard) key is used for encrypting and signing data and communications.

In the context of Git and GitLab, a GPG key can be used to sign your commits, adding an extra layer of security and authenticity.

By signing your commits, you provide a way for others to verify that the commits were made by you and not tampered with. It proves that the commits genuinely come from you.

GPG signing ensures that your commits are securely attributed to you, preventing impersonation. This is particularly important in collaborative projects and open-source contributions.

What are some Gitlab (F/OSS) Alternatives?

  • You can be interested to Self-Host Gitea
  • And Also you can Self-Host Gogs
  • Or even One-Dev: Git Server + CI/CD + Kanban
  • And also Radicle - The Radicle protocol leverages cryptographic identities for code and social artifacts, utilizes Git for efficient data transfer between peers, and employs a custom gossip protocol for exchanging repository metadata.

SelfHosted Gitlab with HTTPS - with Nginx Proxy Manager

If you are interested in using Gitlab with https, deploying NGINX with Docker will be a great option for you.

Remote Gitlab Web IDE - with VPN

Other F/OSS Tools for Devs

The developer platform for on-demand cloud development environments to create software faster and more securely.

  • Gitea

Lightweight and self-hosted, best for simplicity and ease of setup.

F/OSS Data-Ops Tools

https://github.com/datacoon/awesome-dataops

Interesting Repositories for Open Source Software (✅)

SourceForge is an online platform that offers free hosting for open-source software development projects. It provides a range of tools to support version control, project management, and collaboration among developers.

How to mirror a Gitlab repository

Push vs Pull - https://docs.gitlab.com/ee/user/project/repository/mirror/