نصب گیتلب gitlab اختصاصی روی سرور با سیستم عامل اوبونتو

برای آموزش دوره مایکروسرویس و اسقرار روی کوبرننیز نیاز به داشتن گیت لب اختصاصی روی سرور خودم داشتم تا عملیات ci/cd و ... رو انجام بدم. در نتیجه یه سرور با ۲ هسته cpu و ۸ گیگ رم تهیه کردم. البته خب سرور جوری هستش که بشه افزایش داد میزان مورد نیازمون ریسورس رو.

نصب گیت لب روی سرور اختصاصی
نصب گیت لب روی سرور اختصاصی


اول کاری که باید بکنیم قطعا اپدیت سرور هستش و بعد نصب داکر و داکر کامپوز

sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce -y
sudo systemctl status docker



مرحله بعد نصب داکر کامپوز هستش :

VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\&quot -f4)
sudo curl -L &quothttps://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)&quot -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version



مرحله بعد با دستور زیر میایم و یوزر docker رو به گروه sudo اضافه میکنیم که به شما امکان اجرای دستورات Docker را بدون استفاده از sudo می‌دهد.

sudo usermod -aG docker $USER

و سپس یه سری دایرکتوری باید ایجاد کنیم برای کانفیگ گیت لب

sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data /srv/registry/data

حالا میام یه دایرکتور واسه داکر کامپوزی که قرار اجرا بشه ایجاد میکنم و فایل داکر کامپوز رو هم ایجادش میکنم.

mkdir /usr/local/bin/gitlab
cd  /usr/local/bin/gitlab
sudo nano docker-compose.yml

خب حالا توی این فایل باید بیام این محتوا رو داخل فایل داکر کامپوز رو قرار بدم

version: '3'
services:
    gitlab:
        image: 'gitlab/gitlab-ce:latest'
        container_name: gitlab
        restart: always
        hostname: 'gitlab.uncodev.com'
        environment:
           GITLAB_OMNIBUS_CONFIG: |
              external_url 'https://gitlab.uncodev.com'
              gitlab_rails['gitlab_shell_ssh_port'] = 2222
              nginx['redirect_http_to_https'] = true
              # Container Registry configuration 
              registry_external_url 'https://registry.uncodev.com' 
              gitlab_rails['registry_enabled'] = true 
              registry['enable'] = true 
              registry['username'] = 'registry'
              registry['group'] = 'registry'
              registry['dir'] = '/var/opt/gitlab/registry '
              registry['registry_http_addr'] = '0.0.0.0:6060'
              registry['debug_addr'] = '0.0.0.0:6061'
              registry['log_directory'] = '/var/log/gitlab/registry'
              registry['log_level'] = 'info'
              registry_nginx['enable'] = false
        ports:
            - '443:443'
            - '2222:22'
            - '6060:6060'
        volumes:
             - '/srv/gitlab/config:/etc/gitlab'
             - '/srv/gitlab/logs:/var/log/gitlab'
             - '/srv/gitlab/data:/var/opt/gitlab'
networks:
    default:
        external:
            name: gitlab_network



حالا با دستور زیر میایم و شبکه gitlab_network رو ایجاد میکنیم

docker network create gitlab_network

و در نهایت با اجرا دستور زیر داکر کامپوز رو اجرا میکنیم تاااا گیت لب روی سرور ما بالا بیاااااد .

docker-compose up -d

وقتی این دستور رو اجرا میکنید و کارش تموم میشه بازم باید چند دقیقه صبر کنید تا گیت لب اماده بشه و بتونید بهش دسترسی پیدا کنید، تو فیلیمی که تا چند روز دیگه منتشر میکنم کاملتر توضیح میدم خواهم داد.

یوزرنیم دیفالت گیت لب root هستش و پسورد رو هم با دستور زیر میتونید بگیریدش

docker-compose exec gitlab cat /etc/gitlab/initial_root_password