最近のMSはまたMSになってきたので、GitHubもいつどうなるかわからない、ということで、コード管理をセルフホストにしていきたい。
環境とインストール
ひとまず手元のMacで動かす
- M2 Pro Mac mini
- Intel Mac mini 2018
- macOS 14.7.7
- gitea 1.24.5 via Homebrew
インストールは 「Installation | Gitea Documentation」色々あるわけだが、楽なのでbrew install。もしVPSでやるときは、Linuxなのでまた考える。でも別に家のMac miniでいい気もしている。Dockerは特に使う必要性を感じなかったので使わない。データベースでSQLite以外使うならコンテナでまとめてやったほうがいいかなと思う。今回はデータベースもSQLiteでファイル管理するつもりだし、無駄にオーバーヘッド作る必要もないかなって。
セットアップ
インストールしたら brew services start gitea で開始する。これはつまりgitea webをしてそれ用のplistも作って登録する感じなんだが、わざわざ自分で頑張る意味もないので、Homebrew勢は黙ってstart gitea。
そしたら、 http://<サーバのIPアドレス>:3000 にWebブラウザでアクセスして初期設定をする。
- データベースはSQLite3にする。ファイルで管理したいから。
- Homebrewだとファイルパスの初期設定は
/opt/homebrew/bin/data/gitea.dbになるようだ
- Homebrewだとファイルパスの初期設定は
- リポジトリのルートパス(リモートリポジトリのデータの実体)、LFSファイルパス(Large File Storage……でかいファイルは別におくようだ)はひとまず初期値で続行
- サーバードメインはLAN内の固定したプライベートIPアドレスを割り当て
- HTTPポートは3000使いたくないので変更
- 内部でしか使わないのでベースURLはサーバードメインとポートそのまま
- オプション眺めたが、ひとまず初期値で続行
新しいURLで入り直すと、初期画面がある。

右上の登録から最初のユーザを登録する。これが管理者になる。
試す
リポジトリの作成とpull/push
とりあえずリポジトリを適当に作って試す。まずWeb画面上でリポジトリを作成する。宗教上の理由によりブランチ名をmain->masterにし、それ以外は初期値でGo。リポジトリはできた。
クローンする。
git clone http://<サーバアドレス>:<ポート>/<リポジトリ名>cloneは可能。移動してpushまで試す。
(master)> touch hoge
(master)> git add hoge
(master)> git commit -m "first commit"
(master)> git pushuser名とパスワードを求められるが、入力すればとおる。ふむ。
いったん作ったディレクトリを削除して、次にssh経由を試す。
ssh鍵
ssh鍵くらいは登録しておく。ここでは既存の公開鍵 id_rsa.pub を使う。
- 右上のプロフィールアイコンから「設定」
- 左メニューの「SSH/GPGキー」
- SSHの「キーを追加」で
id_rsa.pubの中身を登録
そしたら git clone ssh://ほげほげ でクローンする(適当)。入って適当にファイル作ってaddしてpushできるかを確認。特にパスワードを求められずに登録できたらOK。
少しずつ試していく
ということで、今回はさらっと最低限のssh経由のpush/pullをやっただけだが、一応これだけでもローカル内にあるちょっとしたプロジェクトの管理には使える格好だ。とはいえ実際のバックアップ・復元手順なども確認する必要もあるし、GitHub Actionsみたいなことをしたくなったらどうなるんだろう、とかわからないことも多いので、これから少しずつ試していきたい。

コメント