網頁

2021年11月17日 星期三

gitea on QNAP

開啟 QNAP ssh
QNAP/Control Panel/Network & File Services/Telnet / SSH
Allow SSH connection
Apply

建立 docker 使用空間
QNAP/Control Panel/Privilege/Shared Folders
Create/Shared Folder
Folder Name: Dockers
Next/Next/Finish

建立 Gitea Docker
使用 ssh 登入 QNAP
Console Management - Main menu
>> q
>> y
# cd /share/Dockers
# mkdir -p /share/Dockers/gitea
# docker pull gitea/gitea:latest
# docker run -d --name=gitea -p 10022:22 -p 3000:3000 -v /share/Dockers/gitea:/data gitea/gitea:latest

設定 Gitea 帳號
網頁登入 http://qnap_ip:3000/
底部/管理員帳戶設定
輸入 管理員帳號 密碼 電子信箱
安裝 Gitea

進入 Gitea 建立 Repository
網頁登入 http://qnap_ip:3000/
右上/+/新增儲存庫
輸入 儲存庫名稱
建立儲存庫

由 Git 匯入 Gitea
進入 git host 的目錄
> git remote add gitea http://qnap_ip:3000/UserName/Repository.git
> git push gitea --all
Username for 'http://qnap_ip:3000':
Password for 'http://UserName@qnap_ip:3000':
> git push gitea --tags
Username for 'http://qnap_ip:3000':
Password for 'http://UserName@qnap_ip:3000':

Gitea 備份 兩種方法可選
(1.進入 docker)
QNAP/Container Station/Container
按 gitea 連結,開啟 console logs
按 >_ Terminal
/bin/sh
Connect
# su - git
$ gitea dump -c /data/gitea/conf/app.ini
產生 /data/git/gitea-dump-xxxxx.zip
位於 QNAP 的 /share/Dockers/gitea/git
(2.進入 QNAP)
使用 ssh 登入 QNAP
# docker exec -u git -it -w /data/git $(docker ps -qf "name=gitea") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
產生 /share/Dockers/gitea/git/gitea-dump-xxxxx.zip
位於 docker 的 /data/git

Gitea 還原
QNAP/Container Station/Container
按 gitea 連結,開啟 console logs
按 Stop
使用 ssh 登入 QNAP
# mkdir -p /share/Dockers/backup
# mv /share/Dockers/gitea/git/gitea-dump-xxxxx.zip /share/Dockers/backup
# cd /share/Dockers/backup
# unzip gitea-dump-xxxxx.zip
# ls /share/Dockers/backup/data/
avatars/  gitea.db   jwt/     repo-archive/
conf/     indexers/  queues/  repo-avatars/
# ls /share/Dockers/gitea/gitea/
attachments/  conf/     indexers/  log/     repo-archive/  sessions/
avatars/      gitea.db  jwt/       queues/  repo-avatars/
移除 /share/Dockers/gitea/gitea/ 內相應 /share/Dockers/backup/data/ 的資料
# mv /share/Dockers/backup/data/* /share/Dockers/gitea/gitea/
# chown -R owner.group /share/Dockers/gitea/gitea/
# rm -rf /share/Dockers/gitea/git/repositories/*
# mv /share/Dockers/backup/repos/* /share/Dockers/gitea/git/repositories/
# chown -R owner.group /share/Dockers/gitea/git/repositories/
Gitea 文件上說明,還要搬 log, database
但 log 不見了, database 使用 sqlite3, 直接是一檔案, 搬 data/gitea.db 後不須重建
QNAP/Container Station/Container
按 gitea 連結,開啟 console logs
按 Start
# rm -rf /share/Dockers/backup

Gitea Migrations 遷移
在 Gitea 1.12 以前,可以遷移 程式碼 問題 等
但在之後,無法遷移程式碼
遷移預設無法在本地端執行,需在 /data/gitea/conf/app.ini
增加下列兩行
[migrations]
ALLOW_LOCALNETWORKS = true
要遷移 Wiki 里程碑 標籤 等,需要 Access Token
網頁登入 http://qnap_ip:3000/
右上/圖標/設定/應用程式
輸入 Token 名稱
產生 Token
網頁登入 http://qnap_ip:3000/
右上/+/遷移外部儲存庫

沒有留言:

張貼留言