脱GitHubに向けて:Giteaを試し始める on Mac

最近の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でファイル管理するつもりだし、無駄にオーバーヘッド作る必要もないかなって。

(2025-09-11)この記事を書いた時はDockerいらんかなと思ったんだけれど、バックアップ/復元まで考えたときに、パスなど環境の差分がけっこうしんどい感じだった。Dockerのほうがその点は吸収できそうだが、ただ結局IPアドレスやポート番号など、差分はやはりあるし、docker-compose.ymlの管理もあるので、どちらが良いかは一概には言えないかなぁという感じ。

公式: Gitea Official Website

セットアップ

インストールしたら brew services start gitea で開始する。これはつまりgitea webをしてそれ用のplistも作って登録する感じなんだが、わざわざ自分で頑張る意味もないので、Homebrew勢は黙ってstart gitea。

そしたら、 http://<サーバのIPアドレス>:3000 にWebブラウザでアクセスして初期設定をする。

  • データベースはSQLite3にする。ファイルで管理したいから。
    • Homebrewだとファイルパスの初期設定は /opt/homebrew/bin/data/gitea.db になるようだ
  • リポジトリのルートパス(リモートリポジトリのデータの実体)、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 push

user名とパスワードを求められるが、入力すればとおる。ふむ。

いったん作ったディレクトリを削除して、次にssh経由を試す。

ssh鍵

ssh鍵くらいは登録しておく。ここでは既存の公開鍵 id_rsa.pub を使う。

  • 右上のプロフィールアイコンから「設定」
  • 左メニューの「SSH/GPGキー」
  • SSHの「キーを追加」で id_rsa.pub の中身を登録

そしたら git clone ssh://ほげほげ でクローンする(適当)。入って適当にファイル作ってaddしてpushできるかを確認。特にパスワードを求められずに登録できたらOK。

その後気づいたのだが、Giteaはsshについてだいぶトリッキーなことをしているようで、~/.ssh/authorized_keysにcommandを記述している。で、リモートログインの時に支障をきたす。また、アンインストール時にはここの部分を削除しないといけない。

少しずつ試していく

ということで、今回はさらっと最低限のssh経由のpush/pullをやっただけだが、一応これだけでもローカル内にあるちょっとしたプロジェクトの管理には使える格好だ。とはいえ実際のバックアップ・復元手順なども確認する必要もあるし、GitHub Actionsみたいなことをしたくなったらどうなるんだろう、とかわからないことも多いので、これから少しずつ試していきたい。

この記事をいいなと思っていただけた方、よければ高評価・チャンネル登録……はないので、コメント・SNSでシェア・ブックマーク、RSSフィード登録を、よろしくお願い致します。

コメント

コメントする

目次