Forgejoのようなアプリケーションをセルフホストすることで、開発者やホームラボユーザーは自分のデータやツールを自在に管理できるようになります。本ガイドでは、LinodeのVPSにForgejoをインストールする手順を詳しく解説します。Forgejoはオープンソースのソフトウェアであり、Gitを用いたソースコード管理を容易にし、GitHubのようなプラットフォームと似ていますが、セルフホスト環境により柔軟性があります。
なぜForgejoにLinodeを選ぶのか?
インストール手順に入る前に、LinodeがForgejoをホスティングするのに最適な理由を簡単に説明します。Linodeは月額わずか5 USDから始まる高性能な仮想マシンを提供しており、開発者にとって手頃な選択肢です。同社のインフラは速度と信頼性に優れており、効率的なGitホスティングに不可欠です。
Linode VPSの料金一覧
以下は、各VPSプロバイダーの基本価格を比較したものです。
| プロバイダー | 月額料金 (EUR/USD) | CPUコア数 | RAM | ストレージ |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR/月 | 4 | 8GB | 200GB |
| Hetzner Cloud | 4.15 EUR/月 | 1 | 2GB | 20GB |
| DigitalOcean | 6 USD/月 | 1 | 1GB | 25GB |
| Vultr | 6 USD/月 | 1 | 1GB | 25GB |
| Linode | 5 USD/月 | 1 | 2GB | 50GB |
※詳細な比較については、full VPS comparisonをご覧ください。
LinodeでForgejoをセルフホストする前提条件
インストールを始める前に、次の準備をしましょう。
- Linodeアカウント:まだ持っていない場合は、Linodeでアカウントを作成してください。
- VPSインスタンス:少なくとも2GBのメモリを持つLinodeインスタンスを立ち上げてください。
- ドメイン名:LinodeのIPアドレスにポイントしたドメインを取得しておくと良いです。
- Linuxコマンドラインの基本知識:SSHやコマンドライン操作に慣れているとスムーズです。
ステップバイステップのインストールガイド
ステップ1:Linodeインスタンスにアクセス
インスタンスが起動したら、SSHで接続します。
ssh root@YOUR_LINODE_IP
YOUR_LINODE_IPをあなたのLinodeのパブリックIPアドレスに置き換えてください。
ステップ2:システムを最新状態に更新
セキュリティパッチを最新に保つため、以下を実行します。
sudo apt update && sudo apt upgrade -y
ステップ3:必要な依存パッケージのインストール
Forgejoはいくつかの依存ソフトウェアを必要とします。次のコマンドでインストールしてください。
sudo apt install -y git redis-server nginx postgresql
これらのサービスを自動起動設定にします。
sudo systemctl enable redis-server
sudo systemctl enable postgresql
sudo systemctl start redis-server
sudo systemctl start postgresql
ステップ4:PostgreSQLの設定
Forgejo用のデータベースとユーザーを作成します。
sudo -u postgres psql
次に、以下を実行します。
CREATE DATABASE forgejo;
CREATE USER forgejo_user WITH PASSWORD 'あなたの安全なパスワード';
GRANT ALL PRIVILEGES ON DATABASE forgejo TO forgejo_user;
あなたの安全なパスワードを強力なパスワードに置き換えてください。
ステップ5:Forgejoのダウンロードとインストール
公式リリースページからForgejoの最新バージョンをダウンロードします。
wget https://forgejo.org/release/forgejo_latest_linux_amd64.tar.gz
tar -xvzf forgejo_latest_linux_amd64.tar.gz
cd forgejo-*
ステップ6:Forgejoの設定
サンプルの設定ファイルをコピーします。
cp forgejo.sample.toml forgejo.toml
次に編集します。
nano forgejo.toml
以下の設定を調整してください。
- データベースの接続情報
- サーバーのドメイン
- 必要に応じてSMTP設定(メール通知用)
ステップ7:Nginxの設定
Forgejo用の新しいNginx設定ファイルを作成します。
sudo nano /etc/nginx/sites-available/forgejo
以下の設定を貼り付けてください。
server {
listen 80;
server_name YOUR_DOMAIN;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
YOUR_DOMAINをあなたのドメイン名に置き換え、設定を有効にします。
sudo ln -s /etc/nginx/sites-available/forgejo /etc/nginx/sites-enabled/
sudo systemctl restart nginx
ステップ8:Forgejoの起動
最後に、Forgejoを起動します。
./forgejo server
これで、http://YOUR_DOMAINにアクセスするとForgejoが動作しているはずです。
よくある質問
Forgejoをセルフホストするメリットは何ですか?
Forgejoをセルフホストすることで、あなたのプロジェクトやデータを完全にコントロールできます。環境を自分のワークフローに合わせてカスタマイズできるため、プライバシーとセキュリティを確保しつつリポジトリを管理可能です。また、ベンダーロックインを避けられ、必要に応じてソフトウェアを自由に修正できます。
LinodeにForgejoを設定するのは難しいですか?
手順に従えば、LinodeでのForgejoの設定は比較的簡単です。Linuxやサーバー管理の基本的な知識があれば、多くの開発者が問題なく行えます。Linodeも豊富なドキュメントとサポートを提供しているため、セットアップ中の助けになります。
1つのLinodeで複数のForgejoインスタンスをホスティングできますか?
技術的には可能ですが、異なるポートやドメインを設定して複数のForgejoインスタンスを同一のLinodeに配置することもできます。ただし、リソースの競合やパフォーマンスの低下につながるため、お勧めしません。高可用性を確保したい場合は、それぞれに別のLinodeを割り当てる方が望ましいです。
このガイドに従えば、Linode上にForgejoを成功裏に構築できました。この設定により、効率的な開発フローとセルフホスティングのメリットを享受できます。Forgejoの柔軟性を最大限に活用し、開発作業をより快適に進めましょう!