操作/clone/資料位置;備份改用 gitea dump(含 DB),並註記開放註冊。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
CT124 Gitea(自架 Git 服務)— 操作手冊
主機:CT124(192.168.42.124,Ubuntu 24.04 LXC) | 位置:
/opt/gitea用途:自架 Git 託管(本42_124repo 即放在此:http://192.168.42.124:31337/timmy/42_124)
一、基本資訊
- 版本:Gitea 1.25.4 + PostgreSQL 14(
gitea/gitea:latest、postgres:14) - 容器:
gitea、gitea-db-1(皆restart: always,共用內網gitea) - 埠:
31337 → 3000(Web)、31338 → 22(Git over SSH) - 對外:僅 LAN(
git/gitea.lotimmy.com皆不解析,ROOT_URL=http://192.168.42.124:31337/) - 註冊:
DISABLE_REGISTRATION = false→ 開放註冊(見注意事項)
二、操作
cd /opt/gitea
./start.sh # = docker-compose up -d
./stop.sh # = docker-compose down
docker compose logs -f
docker compose restart
三、存取與 clone
# Web
http://192.168.42.124:31337
# HTTP clone
git clone http://192.168.42.124:31337/<user>/<repo>.git
# SSH clone(注意走 31338,非 22)
git clone ssh://git@192.168.42.124:31338/<user>/<repo>.git
四、資料與設定
| 項目 | 位置 / 值 |
|---|---|
| Gitea 應用資料(repos/config/上傳) | ./data(→ 容器 /data) |
| 設定檔 | ./data/gitea/conf/app.ini |
| PostgreSQL 資料 | ./postgres |
| DB 連線 | db:5432,gitea/gitea(內網,環境變數帶入) |
五、備份
⚠️ 舊 README 只
tar data/不夠 —— 現在中繼資料在 PostgreSQL,光打包data/會缺 DB, 且對運行中的postgres/直接 tar 不保證一致。正確做法用 Gitea 內建 dump:
# 產出含 repos + DB + 設定的單一壓縮檔(寫到容器 /data,即 host ./data)
docker exec -u git gitea gitea dump -c /data/gitea/conf/app.ini
# 取出
mv /opt/gitea/data/gitea-dump-*.zip /opt/gitea/
(gitea-backup-20260309.tar.gz 是早期的 tar data/ 手動備份,僅供參考。)
六、注意事項
- 開放註冊:
DISABLE_REGISTRATION = false,任何能連到:31337的人都能註冊帳號。雖僅 LAN,要鎖就在app.ini設DISABLE_REGISTRATION = true後docker compose restart。 - SSH clone 必須用 31338;app.ini 的
SSH_PORT = 22是容器內埠,Gitea 介面產生的 clone URL 可能顯示 22,手動改成 31338。 /opt/gitea自身是個 git repo(有自己的push.sh/CLAUDE.md),其 remote 與 post-receive hook 是該部署目錄的設定,與使用者 repo 無關。