1. 程式人生 > 其它 >GOGS安裝搭建教程,簡單快速

GOGS安裝搭建教程,簡單快速



一、背景介紹

為什麼要使用git伺服器?最簡單的原生 ssh+git 的私人遠端倉庫搭建方法

如果想視覺化地檢視檔案的變更,檢視每次提交的細節,那麼可以搭建一個帶 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