Compute
code-server
このテンプレートを起動すると、レンタルしたマシン上で動く VS Code のウィンドウがブラウザにまるごと現れます。統合ターミナルから GPU も使えます。
手に入るもの
Section titled “手に入るもの”イメージは grafilab/code-server:4.123.0 で、Coder の code-server を root で動作するよう調整したものです。
- ポート 80 の code-server。
https://<your-slug>.instance.grafilab.aiで公開されます。 HOMEは/root。エディタと SSH シェルが 1 つのホームディレクトリと 1 組のドットファイルを共有します。- エディタでありながら GPU パススルーあり。統合ターミナルで
nvidia-smiが動作し、そこにインストールして実行するものも同様です。 - 同じコンテナへの SSH 経由の root シェル。
コードが動く場所でコードを編集したいときに選びます。GPU 上でデバッグしているリポジトリ、実機でしか失敗しないスクリプト——ローカルにリモート開発用のトンネルを用意せずに済みます。手元のノート PC のエディタを使いたいなら、このテンプレートではなく PyTorch + CUDA のインスタンスに VS Code の Remote-SSH で接続してください。
インスタンスをデプロイし、ステップ 2 の Template Selection で code-server を選びます。詳しい手順は GPU インスタンスをデプロイする にあります。
IDE を開く
Section titled “IDE を開く”-
コンソールで My Instance を開き、カードが Active になるまで待ちます。
-
https://<your-slug>.instance.grafilab.aiを開きます。スラグはインスタンスカードに表示される 3 単語の名前です。エディタはそのままワークスペースを開きます。サインインはありません。 -
/root以下のフォルダを開くか、ターミナルでリポジトリをクローンします。次のセクションを参照してください。
ターミナルと GPU を使う
Section titled “ターミナルと GPU を使う”Terminal → New Terminal を開きます。SSH で接続したときと同じ、コンテナ内の root シェルが得られます。
nvidia-smigit clone https://github.com/<owner>/<repo>.gitこのイメージはエディタであって CUDA スタックではないので、プロジェクトに必要なものはインストールしてください。
pip install torchpython -c "import torch; print(torch.__version__, torch.cuda.is_available())"自分で組むのではなく CUDA と PyTorch が用意された環境が欲しいなら、PyTorch + CUDA か JupyterLab のテンプレートを使い、Remote-SSH で編集してください。
code-server は Microsoft の Visual Studio Marketplace ではなく Open VSX レジストリから拡張機能をインストールします。Microsoft の規約が、あのマーケットプレイスを Microsoft 自身がビルドした VS Code に限定しているためです。オープンソースの拡張機能はたいてい Open VSX にありますが、Microsoft 公開のものや一部のプロプライエタリなものはありません。検索して何も出てこない場合、たいていはこれが理由です。
拡張機能はコンテナ内にインストールされるため、ほかのものと同じくレンタルの終了とともに消えます。
アプリを実行して公開する
Section titled “アプリを実行して公開する”統合ターミナルで任意のポートにアプリを起動します。プロキシから届くよう、すべてのインターフェースにバインドしてください。
python -m http.server 8080 --bind 0.0.0.0ポート 80 はエディタ自身が使っているので、2 つ目のサービスには専用の公開 URL が必要です。コンソールでインスタンスカードの Web Access を開き、Service Name とアプリが待ち受ける Port でマッピングを追加し、生成されたプロキシ URL——https://<your-slug>-<service>.instance.grafilab.ai——を使います。詳しい手順は インスタンスを管理する にあります。
ロックをかける
Section titled “ロックをかける”Anyone with the URL can reach your web UI
The Grafilab proxy does not add a login in front of your instance. Your random three-word slug (https://<your-slug>.instance.grafilab.ai) is the only barrier, and the shipped web templates have no application login of their own (Open WebUI is the exception). Treat the URL like a password: don’t paste it in public places, and if you need a lock, add one inside the app over SSH.
このテンプレートでは、露出は全面的です。URL がそのまま root ターミナルです。秘密として扱い、必要以上に長くインスタンスを動かしたままにせず、共有チャンネルに URL を貼らないでください。
本当に鍵をかけるなら、code-server は --auth password に対応しています。パスワードは PASSWORD 環境変数か、~/.config/code-server/config.yaml の password から読み込まれます。適用するには、その設定でサーバーを再起動する必要があり、これは SSH 経由で行います。
Nothing persists past the rental
Instances have no persistent volume. Anything you write at runtime — downloaded models, installed packages, notebooks, outputs — lives in the container for the lifetime of the rental and is gone when it expires. Before Expire at, back up the folders you care about to Grafilab storage and download the archive.
/root 以下——ワークスペース、拡張機能、シェル履歴——はすべてコンテナの中にあります。作業しながらコードを git に push し、リポジトリに入らないものはインスタンスカードの Backup を使ってください。

