Ubuntu 16.04 下 docker安裝配置Gitlab 服務(wù)器庶艾,用letsencrypt的https訪問支持

為什么要搭建自己的Gitlab服務(wù)器

為了將代碼更好地控制在自己保管的物理硬件上掸屡,要省事也可以直接使用github、bitbucket提供的收費(fèi)托管服務(wù)粉洼。

Gitlab 的配置要求

參見 Requirements | GitLab
2 核即可支持500個用戶节预,推薦的內(nèi)存配置為至少4GB。這里使用的是一臺ubuntu16.04作為服務(wù)器属韧。

域名

為了方便訪問安拟,需要自行購買域名用于提供服務(wù),具體參見域名服務(wù)提供商的文檔宵喂,比如 域名注冊_萬網(wǎng)-阿里云旗下品牌 的服務(wù)糠赦。

email支持

為了提供用戶邀請和各種gitlab的郵件提醒功能,需要配置相應(yīng)的郵件發(fā)送服務(wù),常見的有 mailgun, sendgrid, sparkpost 等服務(wù)商拙泽,都有一定量的免費(fèi)配額淌山,配置方式大同小異。這里以sparkpost為例顾瞻。
sparkpost的說明文檔見 Getting Started with SparkPost - SparkPost 泼疑,主要就是添加你購買的域名比如gitlab.example.com到sending domains,在域名服務(wù)商的網(wǎng)站配置幾個TXT荷荤、CNAME記錄退渗,驗證一下,然后記錄下sparkpost的SMTP配置蕴纳。

gitlab docker compose 安裝配置

這里使用的是
sameersbn/docker-gitlab: Dockerized GitLab 的第三方維護(hù)的gitlab docker会油。比較簡單的安裝方式是通過 docker compose 配置文件。

安裝docker

編輯 docker-compose.yml

里面最復(fù)雜的部分可能就是編輯 docker-compose.yml 配置文件了,首先從 https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml 獲取最新的配置文件模版喇潘。存到服務(wù)器上的任意路徑体斩,比如

mkdir ~/gitlab/
cd ~/gitlab/
wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml

生成密鑰

然后需要生成3個不同的長度為 64 的密鑰賦值給 GITLAB_SECRETS_OTP_KEY_BASE GITLAB_SECRETS_DB_KEY_BASE GITLAB_SECRETS_SECRET_KEY_BASE 。這里可以使用keepassxc的密碼生成功能生成指定長度的密鑰

Keepassxc中點(diǎn)擊 Tools->Password Generator 然后選取長度為64的密鑰即可
keepassxc password generator.png

Generate 3次賦值給配置文件颖低。

編輯volume和ports

按需編輯 gitlab的端口和掛載文件的路徑絮吵,按照一般docker的習(xí)慣和數(shù)據(jù)盤的情況進(jìn)行配置。例如

 ports:
    - "443:443"
    - "2200:22"
    volumes:
    - /srv/docker/gitlab/gitlab:/home/git/data:Z

時區(qū)

可以配置該實例的運(yùn)行時區(qū)忱屑,比如

  - TZ=Asia/Shanghai
  - GITLAB_TIMEZONE=Asia/Shanghai

HTTPS 配置

如果需要https蹬敲,啟用

    - GITLAB_HTTPS=true

如果是自己生成SSL證書

  - SSL_SELF_SIGNED=true

這里使用letsencrypt的證書

  - SSL_SELF_SIGNED=false

參考 Certbot 安裝好letsencrypt的證書

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot 
$ sudo certbot certonly

復(fù)制證書給gitlab的docker

mkdir /srv/docker/gitlab/gitlab/certs
cd /srv/docker/gitlab/gitlab/certs
cp /etc/letsencrypt/live/gitlab.example.com/* .
cat cert.pem fullchain.pem > gitlab.crt
mv privkey.pem gitlab.key
chmod 400 gitlab.key
openssl dhparam -out dhparam.pem 2048

這里參考 sameersbn/docker-gitlab: SSL ,容易漏掉的是最后一步生成 dhparam.pem .

域名配置

編輯域名

  - GITLAB_HOST=gitlab.example.com
  - GITLAB_PORT=443
  - GITLAB_SSH_PORT=2200
  - GITLAB_EMAIL=notifications@gitlab.example.com
  - GITLAB_EMAIL_REPLY_TO=noreply@gitlab.example.com
  - GITLAB_INCOMING_EMAIL_ADDRESS=reply@gitlab.example.com

Email 配置

寫入sparkpost配置

  - SMTP_ENABLED=true
  - SMTP_DOMAIN=gitlab.example.com
  - SMTP_HOST=smtp.sparkpostmail.com
  - SMTP_PORT=587
  - SMTP_USER=SMTP_Injection
  - SMTP_PASS=YOUR_SPARKPOST_SMTP_PASS
  - SMTP_STARTTLS=true
  - SMTP_AUTHENTICATION=login

管理員賬號配置

建議同樣使用keepassxc生成密碼

    - GITLAB_ROOT_PASSWORD=YOUR_PASSWORD
    - GITLAB_ROOT_EMAIL=YOUR_EMAIL

防火墻配置

配置服務(wù)器防火墻允許https的443端口和ssh的端口莺戒,比如上面的2200端口伴嗡。

啟動

配置完成保存yml配置文件后,可以運(yùn)行

$ sudo docker-compose up

啟動gitlab實例从铲,通過打印輸出查找潛在的其他問題
至此瘪校,gitlab的docker安裝已經(jīng)完成,更多配置可以在網(wǎng)頁上的admin管理下完成名段。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阱扬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子伸辟,更是在濱河造成了極大的恐慌麻惶,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件信夫,死亡現(xiàn)場離奇詭異窃蹋,居然都是意外死亡卡啰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門脐彩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碎乃,“玉大人,你說我怎么就攤上這事惠奸∶肥模” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵佛南,是天一觀的道長梗掰。 經(jīng)常有香客問我,道長嗅回,這世上最難降的妖魔是什么及穗? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮绵载,結(jié)果婚禮上埂陆,老公的妹妹穿的比我還像新娘。我一直安慰自己娃豹,他們只是感情好焚虱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著懂版,像睡著了一般鹃栽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上躯畴,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天民鼓,我揣著相機(jī)與錄音,去河邊找鬼蓬抄。 笑死丰嘉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嚷缭。 我是一名探鬼主播供嚎,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼峭状!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逼争,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤优床,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后誓焦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胆敞,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡着帽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了移层。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仍翰。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖观话,靈堂內(nèi)的尸體忽然破棺而出予借,到底是詐尸還是另有隱情,我是刑警寧澤频蛔,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布灵迫,位于F島的核電站,受9級特大地震影響晦溪,放射性物質(zhì)發(fā)生泄漏瀑粥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一三圆、第九天 我趴在偏房一處隱蔽的房頂上張望狞换。 院中可真熱鬧,春花似錦舟肉、人聲如沸修噪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽割按。三九已至,卻和暖如春磷籍,著一層夾襖步出監(jiān)牢的瞬間适荣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工院领, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弛矛,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓比然,卻偏偏與公主長得像丈氓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子强法,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容