Member-only story

備份 GitHub 在你的 NAS 上

Andy Lu
7 min readDec 28, 2024

實現 GitHub 異地備份,資訊落地,以 Synology NAS 為例

Image was generated by DALL.E

這陣子公司在準備 ISO 27001 的檢核,並需要提出備份的計畫,其中也包含了 GitHub 的備份。雖然我們都知道這類大型網站不太容易掛掉,但是系統總不是 100% 可靠的,所以開始著手研究如何備份 GitHub。

備份口訣 321,備份至少有三份,至少兩種不同的儲存媒體,其中的 1 代表的是一份異地備份,若能將 GitHub 的內容完整的存放在公司內部,那就完成了異地備份。不過,要放在哪裡呢?剛好我們公司內部有一台 NAS,這台 Synology 的 NAS 是一台強大的機器,除了能保護存放的資料外,我們還能夠在上面跑一些簡單的服務,除了它上面所提供的套件之外,我們還能夠使用 Docker 來安裝不同的映像檔,實現更多可能性。

那麼,該如何執行呢?

想法一

在 NAS 內安裝 Git,並且定期執行 git pull,如此就能夠實現將 GitHub 上的所有資料備份至主機內。

想法二

在 NAS 內安裝其他 Git Self-hosted 的服務,並使用內部的鏡像功能,以達到定期備份的動作。

最後我採用的是 想法2,並且選擇 Gitea 作為我的 Self-hosted 的 Git 服務,而因為它原本就包含了定期鏡像備份,所以我只需要設定好後,就能夠直接使用。

什麼是 Gitea?

Gitea 是一款輕量級、開源的 Git 伺服器管理工具,支援 Git 儲存庫的託管、問題追蹤、代碼審查及 CI/CD 整合。它類似 GitHub、GitLab,但更適合小型團隊或個人使用,特點是易於安裝、資源需求低且高度可自訂。

如何安裝 Gitea?

啟動 Gitea 映像檔

在 Synology NAS 中,進入 Docker 應用程式(在DSM 7.2 已更名為 Container Manager)中,並且在倉庫伺服器中,搜尋 gitea,選取並安裝、佈署。

在 Container Manager 內選擇 gitea

--

--

Andy Lu
Andy Lu

Written by Andy Lu

Android/Flutter developer, Kotlin Expert, like to learn and share.

Responses (1)