[精讚] [會員登入]
598

[Rocky Linux] 安裝gitlab gitlab+docker compose+ nginx

安裝Gitlab並結合nginx當網頁伺服器

分享此文連結 //n.sfs.tw/16075

分享連結 [Rocky Linux] 安裝gitlab gitlab+docker compose+ nginx@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2023-02-24 11:13:09 最後編修
2023-02-23 14:33:56 By 張○○
 

自動目錄

這次的任務是安裝 gitlab ,比較特別的是因為同一台機器已有網頁的服務,所以利用 nginx當作proxy 轉到內部的 gitlab 網頁。

安裝使用docker 來安裝,非常方便。

DOCKER COMPOSE

gitlab 的compose 設定

  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    container_name: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.sfs.tw'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    volumes:
      - ./gitlab/data:/var/opt/gitlab
      - ./gitlab/logs:/var/log/gitlab
      - ./gitlab/config:/etc/gitlab
    ports:
        - "2222:22"

以上的設置中,作業系統的22埠已被ssh占用,container的22埠就指到作業系統的2222埠。

gitlab預設會聆聽 80及443 ,不必另外設置。

預設的對外url要指定,這裡採用http協定,如果你有憑證也可以改成https。

因為同一台伺服器已有網頁的服務,我又不想用非標準埠來提供gitlab的網頁服務,所以透過nginx來作proxy

  nginx:
      image: nginx:latest
      container_name: nginx
      ports:
        - "80:80"
      volumes:
        - ./conf/conf.d:/etc/nginx/conf.d/:ro
      restart: always

以上空間指到目錄下的 ./conf/conf.d/ ,在其中建立一個檔案virtual,nginx啟動時會自動讀取該檔的設置。

server {
    listen 80;
    listen [::]:80;
    server_name gitlab.sfs.tw;
    location / {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://gitlab:80/;
    }
}

如果你是https,80修改為443並放入憑證即可,例如這樣(僅供參考):

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
...
    ssl_certificate /etc/nginx/conf.d/your_full_chain.crt;
    ssl_certificate_key /etc/nginx/conf.d/your_private.key;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
}

重啟docker生效。

 

進到網頁

進到你設定的網址 http://gitlab.sfs.tw/

登入帳號是 root,密碼放在你的設定檔 /etc/gitlab/initial_root_password中。

# sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

把那串長長的貼入即可

建立管理帳號

左上角三條線點一下,選Admin

root要修改密碼以免被別人用root登入(因為都從github的images),並建立一個管理帳號,其中Access level 設為Administrator。

 

修改語系

預設是英文,你可以選擇數十總語言,右上角的頭像-> Preferences ->

左邊的選單 Reference ->Localization ->Language

測試

建立一個專案後,下面這兩個不要勾

依指示設定你的帳號資料

$ cd /path/to/yourdirectory
$ git config --global user.name "你的名字"
$ git config --global user.email "你的email"

初始化你的專案並加入遠端資源埠

$ git init --initial-branch=main
$ git remote add origin http://gitlab.sfs.tw/username/test.git

加入檔案到git清單中

$ git add .
$ git commit -m "Initial commit"
$ git push -u origin main

測試ok

 

參考資料

[1] https://ithelp.ithome.com.tw/articles/10211148

[2] https://hub.docker.com/r/gitlab/gitlab-ce

 

END

你可能感興趣的文章

[Centos8] 網頁化的系統管理介面 cockpit Centos8 提供一個網頁化的管理介面,稱為駕駛艙,值得一試

[Centos6] php5.3升級為php5.6 Centos6 + php5.6 升級

[Centos7] 安裝 semanage (selinux工具程式) 安裝selinux的工具程式 semanage

[CentOS] 改錯fstab 無法開機怎麼辦? Linux 改錯fstab 無法開機怎麼辦?

[Centos8][Rocky9] ffmpeg 安裝及使用,用ffmpef製作gif動畫 用ffmpef製作gif動畫,但是他的功能很強大,可以用指令來執行

[bc] linux 的計算機bc 如何計算帶小數點的指數 用 bc 來計算帶小數點的指數,得轉個彎才行

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

精讚的版面變化 ▓此文僅作為舊文的記錄▓ 這篇文章為了紀念改版完成而撰寫。 原本的部落格是民國97年的作品,那時還是用舊有的技術來寫,很

[Wildfly10] 發佈war檔 deploy war file onto wildfly10

網頁的標頭(head)搜尋引擎和FB最佳化 網頁的標頭(head)搜尋引擎和facebook最佳化