🤖
開発環境をホストできるCoder(coder.com)を試してみた
coder.com)とは
Coder(- ブラウザベースの開発環境をホストするためのソフトウェア
- コミュニティ版は外部の認証基盤との統合などで機能制限があるが無償で利用可能
- 開発環境のテンプレートを管理して、テンプレートから開発環境(コンテナ)を作成して、Web版VSCodeで開発作業をする、というのがざっくりした利用イメージだと思う
- 名前が普遍的過ぎて、関連情報を検索するのに困る。さらに、VSCode側のServer関連の用語と混ざって、混沌としているような気がする。
-
Coder: このページの対象(coder.com)
-
code-server: Coderの構成要素のひとつ。Web版のVSCodeを提供するサーバ
-
Visual Studio Code Server:ローカル版のVSCodeに備わっているサーバ機能。リモート環境へのトンネルを提供したり、Web UIを提供したり
-
Coderのインストール~開発環境が使えるようになるまで
Coderインストール
- WSLでDockerが使える状態を前提とする
- 公式ページの通り実行
curl -L https://coder.com/install.sh | sh
coder server
サーバが起動するのでブラウザからhttp://127.0.0.1:3000にアクセス
Let‘s create your first admin user account
のページが表示されるので管理アカウントを作成するため適当なメールアドレスとパスワードを入力
すると、すぐにテンプレートのコンソールが表示される
開発環境のデプロイ
テンプレートのコンソールから、とりあえずDocker Containers
のUse template
を押してみる
テンプレートの作成画面が表示されるのでSave
する
Terraformのコードなどが表示された画面になる。これがテンプレートの詳細画面で、ここからWorkspace(開発環境)を作成できるらしい。Create Workspace
を実行
Workspaceの名前を入力して続行(IntelliJが選択されているけど、これと関係なくVSCodeは使える)
ビルドが進行し完了すると、code-serverやTerminalを起動できる画面になる
開発環境に入ってみる
Terminal
を実行すると、Webベースのターミナルが起動する。
sudo apt udpate
などのコマンドが使える
code-server
を実行するとWeb版のVSCodeが起動する。
開発環境を使ってみる
- asdfをインストール
- asdfでpython, nodejs, javaをインストール
- githubのリポジトリをclone
- pythonでNiceGUIのアプリを起動 ⇒ Workspaceのコンテナ内で動作しているが、Coderが自動的にポートフォワードみたいな動作をしてくれて、ローカルのブラウザからアクセスができる
いろいろ確認してみた結果
-
code-server (ブラウザベースのVSCode)
- ローカル版VSCodeに比べ快適さは若干劣る気がするものの、割と普通に使える
- 機能拡張のリストに
GitHub Copilot Chat
はあるがGitHub Copilot
はない
-
ユーザ管理
- 複数ユーザを管理でき、ユーザ管理者とかテンプレート管理者、ただのメンバなどロールを設定できる
- ユーザ個別に開発環境(コンテナ)を作成して使用できる
- 外部の認証基盤との統合が可能らしい(Open ID Connect)
-
Docker in Workspace
- 何も考えずに作成したWorkspaceではdockerは動かなかったが、方法はあるみたい
Discussion