Google Colabでeasy-datasetをデプロイするチュートリアル

ソフトウェア開発

このノートブックでは、Gitリポジトリ「https://github.com/ConardLi/easy-dataset.git」 をクローンし、依存関係をインストールしてビルドし、最終的にアプリケーションを起動するまでの一連の手順をガイドします。

ステップ1:Node.jsとnpmのインストール

nvm (Node Version Manager) を使用して、Node.jsとnpmをインストールします。これにより、Node.jsのバージョンを柔軟に管理できます。

まず、nvmのインストールスクリプトを実行します。

!curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Colabのシェルは非対話的なため、インストール後にnvmコマンドを有効にするには、スクリプトを明示的にsource(読み込む)する必要があります。以下のコマンドでnvmを読み込み、最新のNode.jsをインストールして、バージョンを確認します。

!export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && nvm install node && node -v && npm -v

ステップ2:リポジトリのクローン

次に、git cloneコマンドを使用して、対象のeasy-datasetリポジトリをローカル環境に複製します。

from google.colab import drive
drive.mount('/content/drive')
%cd /content/drive/MyDrive/Prj

!git clone https://github.com/ConardLi/easy-dataset.git

ステップ3:依存関係のインストール

クローンしたプロジェクトのディレクトリに移動し、npm installコマンドを実行して、必要なライブラリやパッケージをインストールします。

%cd /content/drive/MyDrive/Prj/easy-dataset
!npm install

注意:インストール中にいくつかの非推奨パッケージに関する警告や脆弱性に関する通知が表示されることがありますが、ここでは手順を続行します。

ステップ4:アプリケーションのビルド

依存関係のインストールが完了したら、npm run buildコマンドを実行してアプリケーションをビルドします。このプロセスでは、データベースのセットアップとNext.jsアプリケーションの最適化が行われます。

!npm run build

ステップ5:サーバーの起動と公開

最後に、アプリケーションを起動し、外部からアクセスできるようにします。

サーバーのバックグラウンド起動

npm run startコマンドを実行して、開発サーバーを起動します。Pythonのsubprocessモジュールを使い、サーバーをバックグラウンドで実行させます。

import subprocess
import time

# easy-dataset サーバーをバックグラウンドで起動
# ポート1717で実行
process = subprocess.Popen(['npm', 'run', 'start'],
                          stdout=subprocess.PIPE,
                          stderr=subprocess.PIPE)

# サーバーが起動するまで5秒待機
time.sleep(5)
print("easy-datasetサーバーがバックグラウンドで起動しました。")

# プロセスが実行中であることを確認
!ps aux | grep 'npm run start'

ngrokによる外部公開

Colab上で実行されているローカルサーバーに外部からアクセスするために、ngrokを使用します。ngrokは、ローカルポートへの安全なトンネルを作成し、公開URLを生成するツールです。

まず、ngrokをインストールします。

!pip install -q pyngrok

次に、ngrokの認証トークンを設定し、サーバーがリッスンしているポート(この場合は1717)へのトンネルを作成します。

注意: 以下のコードを実行する前に、ngrokの公式サイトでアカウント登録し、認証トークンを取得してください。取得したトークンは、Google ColabのSecrets機能(サイドバーの鍵アイコン)にNGROK_AUTH_TOKENという名前で保存することをお勧めします。

from pyngrok import ngrok
from google.colab import userdata

try:
    # Colab Secretsからngrokの認証トークンを取得
    NGROK_AUTH_TOKEN = userdata.get('NGROK_AUTH_TOKEN')
    ngrok.set_auth_token(NGROK_AUTH_TOKEN)

    # easy-datasetサーバーが使用しているポート1717へのトンネルを開始
    public_url = ngrok.connect(1717)
    print(f"アプリケーションの公開URL: {public_url}")

except userdata.SecretNotFoundError:
    print("エラー: ngrokの認証トークンがColab Secretsに見つかりません。")
    print("サイドバーの鍵アイコンから 'NGROK_AUTH_TOKEN' を設定してください。")

まとめ

このノートブックの手順により、以下のタスクが正常に完了しました。

  • nvmを使用してNode.js(v24.5.0)とnpm(v11.5.1)をインストールしました。
  • easy-datasetのGitリポジトリをクローンしました。
  • npm installでプロジェクトの依存関係を導入しました。
  • npm run buildでアプリケーションを正常にビルドしました。
  • npm run startで開発サーバーを起動し、ngrokを使って外部に公開しました。

これで、生成された公開URLにアクセスすれば、easy-datasetアプリケーションをブラウザで確認できます。

📒ノートブック

Google Colab

コメント

タイトルとURLをコピーしました