[2023年版: メモ] Gitのセルフホスト
カテゴリー: General
2023-08-04
タイトル
公開サーバーへ設置する危険性
githubでいいのかもですが、アカウントジャック、突然のアカウントロック、規約変更による継続困難、サービス終了とかの不幸に見舞われた場合目も当てられない。
そこで大事なコードは単独でgithubには置きたくない。
そこで活躍するのが セルフホスト
セルフホストできるものをいくつかみてみよう
応答速度
一般的にスクリプトアプリは、バイナリアプリに比べて10倍遅い。
・Gitlab
uiの日本語: あり
巨大すぎるプロジェクト。設定も大変。
スクリプトなので動作が遅い。
すごいセキュリティ脆弱も過去にあったようだし、
どうしても使うなら、ホームネットワーク dockerで運用って感じでしょうか?
・Forgejo (ドイツ) ← gitea (china,Gitea Limited) ← Gogs (china 個人)
uiの日本語: あり
バイナリでよさそうなのですが、フォークが多い感じ。gitea,Gogsは国際情勢からしてインストールには勇気がいりますね。わたしはテストもしません。
go言語で現役のプロジェクトがいまだにあったのが超ビックリ。
・gitbucket
検索するとたくさんヒットする。日本語なし、 javaなので却下。
・NASなどのソースコード管理アカウントに sshで直接接続して bareリポジトリにpush
初期設定が面倒なだけで、アプリの更新も必要ないので一番手軽で何十年たってもそのまま動作する。
何が入っているかなどがわかりにくいので、そういう面では、gitlab、Forgejoのようなアプリ経由で管理したほうが便利です。
リモート保存先: bareリポジトリの初期化 : git init --bare
リモートの登録1: git remote add ssh://user@host[:port]/path
リモートの登録2: git remote add ssh://user@host[:port]/path/.git
迷ったのなら、中途半端に利用すると時間の無駄です。
単純バックアップ、NASにSSHで同期しておく または 何もしない(様子見)がおすすめです。
ホームネットワーク運用
hostファイルにオレオレドメインと、オレオレ証明書の設定すればurlを固定化できる。
dependabot
動作安定性重視なので、dependabot[bot]を採用するようなプロジェクト持っていないので、必要になったら考えます。
それにしても gitはなぜ個人情報無視のメールアドレス項目があるのだろう。メーリングリスト文化の名残だろうか?
guidのようにユニークidで管理すればいいのに
執筆:2023.08.04
編集:2023.08.04
編集:2023.08.04
公開サーバーへ設置する危険性
- ハッキングされる危険性
- 未公開リポジトリを誤って公開して情報流出してしまう危険性
- 放置していて使っていないうちに消滅する危険性
githubでいいのかもですが、アカウントジャック、突然のアカウントロック、規約変更による継続困難、サービス終了とかの不幸に見舞われた場合目も当てられない。
そこで大事なコードは単独でgithubには置きたくない。
そこで活躍するのが セルフホスト
セルフホストできるものをいくつかみてみよう
応答速度
一般的にスクリプトアプリは、バイナリアプリに比べて10倍遅い。
・Gitlab
uiの日本語: あり
巨大すぎるプロジェクト。設定も大変。
スクリプトなので動作が遅い。
すごいセキュリティ脆弱も過去にあったようだし、
どうしても使うなら、ホームネットワーク dockerで運用って感じでしょうか?
・Forgejo (ドイツ) ← gitea (china,Gitea Limited) ← Gogs (china 個人)
uiの日本語: あり
バイナリでよさそうなのですが、フォークが多い感じ。gitea,Gogsは国際情勢からしてインストールには勇気がいりますね。わたしはテストもしません。
(2023-08-04) | 公式サイト | apt | pkg |
forgejo | 1.20.2-0 | なし | なし |
gitea | 1.20.2 | なし | 1.20.1 |
gogs | 0.13.0 | なし | 0.12.11_2 |
apt search パッケージ名
pkg search パッケージ名go言語で現役のプロジェクトがいまだにあったのが超ビックリ。
・gitbucket
検索するとたくさんヒットする。日本語なし、 javaなので却下。
・NASなどのソースコード管理アカウントに sshで直接接続して bareリポジトリにpush
初期設定が面倒なだけで、アプリの更新も必要ないので一番手軽で何十年たってもそのまま動作する。
何が入っているかなどがわかりにくいので、そういう面では、gitlab、Forgejoのようなアプリ経由で管理したほうが便利です。
リモート保存先: bareリポジトリの初期化 : git init --bare
リモートの登録1: git remote add ssh://user@host[:port]/path
リモートの登録2: git remote add ssh://user@host[:port]/path/.git
迷ったのなら、中途半端に利用すると時間の無駄です。
単純バックアップ、NASにSSHで同期しておく または 何もしない(様子見)がおすすめです。
ホームネットワーク運用
hostファイルにオレオレドメインと、オレオレ証明書の設定すればurlを固定化できる。
dependabot
動作安定性重視なので、dependabot[bot]を採用するようなプロジェクト持っていないので、必要になったら考えます。
それにしても gitはなぜ個人情報無視のメールアドレス項目があるのだろう。メーリングリスト文化の名残だろうか?
guidのようにユニークidで管理すればいいのに