GOGS安裝搭建教程,簡單快速
一、背景介紹
如果想視覺化地檢視檔案的變更,檢視每次提交的細節,那麼可以搭建一個帶 Web 的git伺服器
目前的選擇是 gitlib 和 gogs
gogs 使用go編寫,配置簡單,輕量級,個人使用完全夠用
公司的話會選gitlib
二、安裝
因為搭建go環境,編譯安裝挺麻煩的,所以我選擇docker安裝,docker的優點:
-
映象小,官方映象也才40M,相對其它映象來說已經很小了
-
可以通過掛載卷把容器裡的目錄放在宿主機上,這和在宿主機上直接跑gogs沒什麼區別,git倉庫都能在目錄中找到
-
安全,如果gogs被挖出漏洞,容器也能給我們一層防護
但是資料庫的話還是得自己安裝,放容器裡不符合資料庫設計的初衷
2.1 資料庫、docker安裝
參考:Rocky Linux 8系統介紹、安裝、配置、軟體安裝步驟,Rocky Linux 8 可以當作 CentOS 8
建立資料庫,建立使用者,授權使用者:
CREATE DATABASE `gogs` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'gogs'@'%' IDENTIFIED BY 'your_password';
GRANT ALL ON gogs.* TO 'gogs'@'%';
2.2 gogs安裝
安裝gogs docker
參考:官方GitHub
docker pull gogs/gogs:latest
docker run -d -p 3000:3000 -p 3022:22 -v /var/gogs:/data --name=gogs gogs/gogs
# 後續啟動重啟
docker start|restart gogs
這樣一來就安裝好了,本機的3000埠就是gogs web,3022埠就是gogs ssh,本機的/var/gogs就是gogs容器裡的/data
2.3 gogs web安裝
訪問3000埠,進行配置
參考: https://learnku.com/articles/36255
都可以是預設,建議修改的選項有:
-
應用url,後續會顯示在你倉庫的clone地址中。如果你設定了字首如
127.0.0.1:3000/gogs/
,那麼網站根目錄也會帶字首,包括js等靜態資源,這個設定了可以方便後續nginx代理 -
建議勾選
禁止使用者自主註冊
和啟用登入訪問限制
,後者設定後遊客只能訪問登入頁面,不設定遊客可以看到使用者、公開倉庫
此時不設定,後續只能通過配置檔案設定,無法在web更改設定
第一個註冊的使用者是管理員
三、配置
在宿主機上 vi /var/gogs/gogs/conf/app.ini
即可修改容器中的配置
配置參考:https://github.com/gogs/gogs/blob/main/conf/app.ini
修改配置後:docker restart gogs