緣起:
想管理自己本地的專案,之前都只是用資料夾分類而已,上版控的話只會用
github,覺得如果有個 "本地的 github"
應該會很不錯,自己區網內的電腦想快速同步專案也很方便。
Gitea Container:
官方教學,直接附上我跟著教學改好的 docker-compose 檔
networks:
gitea:
external: false
services:
server:
image: docker.gitea.com/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
depends_on:
- db
db:
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql
它的 ssh port 用 2222,因為 22 是 pi 本身要用的。用瀏覽器打開
http://<pi的ip>:3000,設定好 admin 的密碼後就能開始使用了。
話說,我問了 claude 後才知道,這種只在 Docker 內部網路被同一個 compose app 連的 Container,不用太在意它的帳號跟密碼的設定,因為外部的網路連不進去。
設定 SSH key:
用 ssh-keygen 産生一對金鑰,到 Gitea 的 setttings ->
SSH/GPG keys
ssh -T -p 2222 git@192.168.3.1
有看到歡迎訊息就代表成功了
我拿我的一個 unity project 做測試,先新增一個 Unity_Test
專案
git init
git add .
git commit -m "init"
git branch -M main
git remote add origin git@192.168.3.1/birdshiu/Unity_Test.git
我自己後來測試,發現 push 時有問題,因為我的 gitea 的 ssh
port 本來就不是 22,所以我要再改一下 remote url 的部份,問了
claude,它說可以這樣修改
git remote set-url origin ssh://git@192.168.3.1:2222/birdshiu/Unity_Test.git
再來 push
git push -u origin main
這樣就成功 push 本機的專案了,我是在 windows 上 push
的,然後有在另一台 arch linux 電腦上把專案給 clone 下來
git clone ssh://git@192.168.3.1:2222/birdshiu/Unity_Test.git
有測試過,能正常編譯跟執行,成功 ~~



沒有留言:
張貼留言