容器設定與安裝

開啟 synology 套件中心下的 docker,使用倉庫伺服器查詢 gitea 映像檔,版本選用 latest。

等待 gitea 晚像檔下載完成後,點按佈署按鈕後產生容器進行設定。

容器命名 gitea 後,點按進階設定。

docker 資料夾下建立 gitea 資料夾,讓容器存放檔案與設定。

在容器進階設定裡,前往儲存空間下點按新增資料夾按鈕,選到先前所建的 gitea 資料夾,掛載路徑填入 /data

連接埠設定多增加

20022,原本的 22 是用來給預設的 ssh 連線用,但在預設產生下的網址使用路徑上,會與 synology 預設使用的連接埠號有重疊,在這樣的情形下以新增出多的一個專屬於 gitea 以 ssh 連線專用的連接埠,進行客製的設定,原本容器預設的 22 埠號就自動不用在進行設定。
因此在使用 ssh 連線上,以本機端的網址路徑為例就會是 ssh://<nas ip or domain>:20022/<user>/<repo name>.git 來使用。

新增環境變數加入 USER_UIDUSER_GID 的 key 設定,值都為 1000

根據 gitea 官方文件的內容

以上設定都完成後,就可以在新增容器的介面上點按下一步與套件,運行 gitea 了。


瀏覽器初啟 gitea

初始組態設定

瀏覽器輸入 http://<nas ip or domain>:23000/ 開啟 gitea,沒問題的話就可以開啟 gitea 網頁上的初始組態設定介面,基本上不用設定除非要設定資料庫的使用類型,不然以預設為主就好,而下面的網站標題也可以預先設定。

基本上只需要設定Gitea 基本 URL的輸入框就可以了,一樣和先前開啟初始組態設定的 http://<nas ip or domain>:23000/ 網址。

電子郵件寄件者輸入信箱是給 gitea 發送使用。

管理員帳戶設定,輸入帳號名稱與密碼,另外如果 email 沒有輸入時,送出表單後會回應要求重新輸入。

新建儲存庫

新建儲存庫,在登入後的首頁右方介面,點按下 + 的新增儲存庫圖示按鈕,進入儲存庫設定。

進入儲存庫設定頁面,指定儲存庫名稱,就會產生出空的儲存庫。

新建出來的儲存庫,在 HTTP 的網址部份都正常,在沒有使用外部 domain 而以區網指定 nas ip 做為網址名稱,這部份是正常可直接依 git 指令,建出新的 commit 在儲存庫之中。


conf/app.ini 設定關閉 SSH 連線與註冊相關介面

切換到 SSH 的部份網址就會有問題了,可同後面的設定關閉 SSH 的相關介面。

前往 /docker/gitea/gitea/conf 路徑下開啟 app.ini 檔,將進行下面的設定。

– 前往 [server] 下找到 DISABLE_SSH:設定為 true 關閉介面與相關方式,只會留下 HTTP 的方式進行連線。
– 前往 [service] 下找到 DISABLE_REGISTRATIONREQUIRE_SIGNIN_VIEW,將設定都設為 true

app.ini 檔修改後存檔,遇到權限無法寫入,在資料夾上點按內容設定權限,將 Authenticated Users 加入,並將所有權限開啟。

相關 SSH 介面取消外另外也無法使用。

入口頁上方的導航列,少了註冊的按鈕可讓使用者自行註冊帳號。


參考資料

設定資料

Felix’s Life – 在Synology Nas上安裝gitea
Mesak – [軟體] 在 SYNOLOGY 群暉 NAS 上利用 DOCKER 安裝 GITEA
youtube – Install GitEA on Synology with Docker to Version Control your Code with HTTP Git! | 4K TUTORIAL (關閉註冊介面)
黑暗執行緒 – Git 私服第一品牌 – Gitea
gitea 官方文件 – custom/conf/app.ini 參數設定

ssh 連線方式 (未解決參考暫記)

马丁龙猪的博客 – 群晖 NAS 使用命令行创建用户的方法
yiyun’s Blog – Gitea | 笔记