gogs是一個極其輕量的git服務器,所需資源極少,功能基本齊全,如果是個人使用或者使用團隊規模不大,且要求不多,非常適合部署在樹莓派上使用。
硬件:Raspberry Pi 4B(4g或8g版本)
系統:Ubuntu 20.04 LTS
Docker:18.09.9
gogs鏡像:pi4k8s/gogs:0.11.91
-
注意:因爲我們樹莓派4B本身並非x86,而是arm架構,且我們的系統裝的是64位ubuntu,因此鏡像只能選擇arm64v8架構的鏡像。這裏我們選擇的gogs鏡像是參考官方gogs的Dockerfile(https://github.com/gogs/gogs)在樹莓派上編譯的。
數據目錄:/home/docker/server/gogs/data
-
啓動gogs
docker run -itd --name=gogs -p 10022:22 -p 3000:3000 --privileged=true -v /home/docker/server/gogs/data:/data pi4k8s/gogs:0.11.91
-
初始化
用瀏覽器訪問http://ip:3000進行初始化
初始化一共分爲3個模塊,分別是數據庫設置、應用基本設置和可選設置,其中可選設置又分爲郵件服務設置、服務器和其它服務設置和管理員賬號設置,下面分別說明
數據庫設置
對於個人用戶或者規模不大的企業用戶來說,直接使用SQLite3即可,數據庫文件路徑保持默認值就可以了。
應用基本設置
這部分設置主要注意一下域名和應用URL,應用URL就是我們通過瀏覽器訪問gogs服務的URL,如果gogs服務需要通過nginx等web服務器反向代理訪問的話,這裏需要安裝實際情況填入實際訪問路徑。
可選設置->郵件服務配置
這裏我選擇了騰訊企業郵箱賬號,經測試,可以正常發送郵件
可選設置-> 服務器和其它服務設置
可選設置->管理員賬號設置
新建一個用戶作爲管理員。
全部設置完成後,點“立即安裝”按鈕,稍等片刻,gogs初始化完成後會自動引導到首頁如下
到這裏,一個git服務器就部署好了。
-
其它運維命令
#啓停命令
docker start gogs
docker stop gogs
docker restart gogs
#刪除
docker rm gogs
#查看日誌
docker logs gogs
#進入容器
docker exec -i -t gogs /bin/sh
-
配置文件app.ini
# cat /home/docker/server/gogs/data/gogs/conf/app.ini
APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod
[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gogs
USER = root
PASSWD =
SSL_MODE = disable
PATH = data/gogs.db
[repository]
ROOT = /data/git/gogs-repositories
[server]
DOMAIN = 192.168.5.125
HTTP_PORT = 3000
ROOT_URL = http://192.168.5.125:3000/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
[mailer]
ENABLED = true
HOST = smtp.test.net:465
FROM = "gogs"<javafun@test.net>
USER = javafun@test.net
PASSWD = test1234
[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = false
REQUIRE_SIGNIN_VIEW = false
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = console, file
LEVEL = Info
ROOT_PATH = /app/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = V5Oj0REdu1iQaxe
其它
-
配置郵件爲yeah和sohu郵箱沒有調通,建議設置qq企業郵箱賬號
參考