Coder でクラウド開発環境を立ち上げる
2025-07-27
クラウド開発環境といえば Codespaces や Gitpod などマネージドなサービスが多いですが、 Coder では環境をセルフホストできます。 気になって試してみました。
Coder とは?

Coder は、クラウド開発環境をセットアップするアプリケーションです。いわゆる管理サーバーに相当します。 開発環境のテンプレートを書いて登録しておくことで、好きな時に環境を立ち上げできます。 そしてエディタで開けます。
公式サイト
では、実際に Coder を試していきましょう。
1. ダウンロード
はじめに Coder をダウンロードします。 GitHub の Releases よりダウンロードしましょう。

2. PostgreSQL を立ち上げる
Coder のデータの保存先です。 docker compose で立ち上げましょう。
</>
# docker-compose.yml
services:
db:
image: postgres:15
environment:
- POSTGRES_USER=coder
- POSTGRES_PASSWORD=coder
- POSTGRES_DB=coder
ports:
- 5432:5432
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
</>
$ docker compose up
3. Coder を立ち上げる
ダウンロードしたバイナリを実行しましょう。 coder server コマンドで立ち上がります。
</>
$ coder server \
--postgres-url "postgres://coder:coder@localhost:5432/coder?sslmode=disable" \
--access-url "http://127.0.0.1:3000"
4. セットアップ
ブラウザで http://127.0.0.1:3000 を開きましょう。 セットアップページが表示されます。 メールアドレスでアカウントを作成するか、GitHub でログインしましょう。

5. テンプレートの登録
はじめにテンプレートを登録します。 画像赤枠の「Templates」をクリック。テンプレートの登録へ進みましょう。

スターターがいくつかありますが、そのうちの「Docker Containers」を選択します。

設定項目がいくつかありますが、デフォルトの値で大丈夫です。 そのまま Save しましょう。 しばらくするとテンプレートの登録が完了します。

ちなみに、このテンプレートは Terraform で書かれており、いろいろリソースがありますが、 削ぎ落とすと次のような感じになります。
</>
terraform {
required_providers {
coder = {
source = "coder/coder"
}
docker = {
source = "kreuzwerker/docker"
}
}
}
provider "docker" {}
data "coder_provisioner" "me" {}
data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}
resource "coder_agent" "main" {
arch = data.coder_provisioner.me.arch
os = "linux"
}
module "code-server" {
source = "registry.coder.com/coder/code-server/coder"
version = "~> 1.0"
agent_id = coder_agent.main.id
order = 1
}
resource "docker_container" "workspace" {
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
image = "codercom/enterprise-base:ubuntu"
entrypoint = ["sh", "-c", replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")]
env = ["CODER_AGENT_TOKEN=${coder_agent.main.token}"]
host {
host = "host.docker.internal"
ip = "host-gateway"
}
}
テンプレートを自作するときは、参考にしてください。
6. 環境の立ち上げ
さて、環境を立ち上げます。 画像赤枠の「Workspaces」をクリック。テンプレートを選択してワークスペースを作ります。

名前やパラメータを入力して、ワークスペースを作成します。

作成ボタンを押すと、Coder は内部で terraform を実行します。 加えて、docker コンテナを立ち上げたりもします。
そのため時間がかかりますが、 しばらくするとワークスペースが立ち上がります。

「code-server」というボタンを押すと、別ウィンドウでエディタが立ち上がります。

もちろん VS Code からも接続できます。
おわり
Coder は、Platform Engineering にマッチします。 例えば 1. インフラ担当者が、テンプレートを作成 2. アプリケーション開発者が、好きな時に立ち上げ という風な使い方ができます。 カスタマイズ性がありますし、UI も優れているので、上手く使えば便利そうです。