AndroidでVS Code開発環境を整える code-server構築ガイド
Android をそのままローカル開発機にするのは厳しいですが、Ubuntu 側に code-server を置き、Android はブラウザから入る薄いクライアントにすると実用レベルまで持っていけます。
特に Docker で code-server を管理すると、環境を汚しにくく、再構築もしやすいです。
この記事では、2026年4月11日時点の公式情報を踏まえつつ、Android から VS Code 相当の開発環境へ安全に接続する最小構成を整理します。
TL;DR
- Android で実用的な開発環境を作るなら、ローカル実行より
Ubuntu + code-server + ブラウザの構成が安定します。 code-serverは Docker 化しておくと、再構築・移行・設定バックアップがしやすいです。- 接続方法は
同一LANで確認→SSH ポートフォワード→Tailscale Serveの順で考えると整理しやすいです。 - Android 側は PWA 化と物理キーボードの併用で、操作感がかなり改善します。
- 2026年4月11日時点で、
code-serverは Microsoft Marketplace ではなく Open VSX ベースなので、拡張機能の互換性は事前確認が必要です。
この構成が向いているケース
結論から言うと、この構成は「重い処理はサーバー側に寄せ、Android は入出力だけ担当させたい」場合に向いています。 逆に、Android 端末だけで完結するローカル開発環境を期待するとズレやすいです。
向いているケースは次の通りです。
- すでに Ubuntu サーバーや自宅 Linux マシンを持っている
- 移動中や外出先でも、手元の Android からすぐ編集したい
- Windows ノート PC を常に持ち歩かず、軽い端末で開発したい
- 実行環境や依存関係はサーバー側へ寄せたい
逆に、次の用途は別構成のほうが向いています。
- Android Studio のエミュレーターを手元で動かしたい
- USB デバッグや端末直結の検証を中心に行いたい
- GPU 前提の GUI 開発を長時間行いたい
なぜ Android から直接ではなく code-server を使うのか
答えは、Android 上に IDE と実行環境を全部載せるより、code-server を経由したほうが安定して再現しやすいからです。
エディタはブラウザで開き、ビルドや依存関係は Ubuntu 側で処理させると、端末差分の影響を受けにくくなります。
特に次の点が大きいです。
- Android 側の負荷は主にブラウザ描画と入力になる
- 実行環境は Ubuntu 側に固定できる
- サーバーを入れ替えても Docker 構成を移しやすい
- 設定やワークスペースをボリュームで管理しやすい
全体像
最小構成は次のイメージです。
flowchart LR
A[Android<br>Chrome / Edge / Samsung Internet] --> B[code-server]
K[Bluetoothキーボード<br>必要なら DeX] --> A
B --> C[Docker コンテナ]
C --> D[Ubuntu サーバー]
D --> E[ソースコード]
D --> F[Node.js / Python / Go などの実行環境]
G[同一LAN] -.-> A
H[SSH ポートフォワード] -.-> A
I[Tailscale Serve] -.-> A
重要なのは、Android は開発環境本体ではなく、操作端末として使うことです。 この割り切りができると、スマホやタブレットでも破綻しにくくなります。
Ubuntu 側に Docker で code-server を立てる
最初は Docker で code-server を立てるのが分かりやすいです。
2026年4月時点の LinuxServer.io の code-server イメージは、PUID / PGID / PASSWORD / DEFAULT_WORKSPACE などを docker compose で渡せるため、最小構成を作りやすいです。
1. ディレクトリを作る
mkdir -p ~/code-server/config
cd ~/code-server
2. .env を作る
パスワードを compose ファイルへ直書きせず、まずは .env に分けます。
cat > .env <<'EOF_ENV'
CODE_SERVER_PASSWORD=replace-this-with-a-long-password
EOF_ENV
3. compose.yaml を作る
まずは次の最小構成で十分です。
services:
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Tokyo
- PASSWORD=${CODE_SERVER_PASSWORD}
- DEFAULT_WORKSPACE=/config/workspace
volumes:
- ./config:/config
- /home/your-user/projects:/config/workspace
ports:
- 8443:8443
restart: unless-stopped
ポイントは次の通りです。
./config:/configに設定や拡張機能をまとめて保持する/config/workspaceに普段の作業ディレクトリを割り当てる- まずは
8443で起動し、あとで安全な接続経路へ寄せる PASSWORDは必ず推測されにくい値へ変える
4. 起動する
docker compose up -d
起動後は、同一 LAN 内から一度ブラウザで開き、ログインできるかを確認します。
Android から安全に接続する方法
結論として、いきなりインターネットへ 8443 を生で公開しないのが大事です。
code-server の公式ガイドでも、安全な公開方法として SSH ポートフォワードや HTTPS 経由の公開方法が案内されています。
接続方法の選び分け
| 方法 | 向いている場面 | ポイント |
|---|---|---|
| 同一 LAN のみ | 自宅内でまず動作確認したい | 最初の疎通確認に向く |
| SSH ポートフォワード | 既に SSH 運用がある | code-server 公式でも推奨される |
| Tailscale Serve | ブラウザ主体で複数端末から入りたい | Tailnet 内 HTTPS を使いやすい |
| リバースプロキシ + Let’s Encrypt | 公開 URL を安定運用したい | ドメイン管理まで含めた本番向け |
まずは同一 LAN で確認する
最初の確認だけなら、Android のブラウザから次のように開けます。
https://192.168.x.x:8443
ただし、これは 信頼できる LAN 内での確認用 と割り切るのが安全です。 ルーター側でポート開放して、そのまま外部公開する運用は避けたほうがよいです。
SSH ポートフォワードを優先する
安全性を優先するなら、まずは SSH ポートフォワードが分かりやすいです。
code-server の公式ガイドでも、別マシンから使うときは SSH ポートフォワードが高く推奨されています。
ローカル側での例は次の通りです。
ssh -N -L 8443:127.0.0.1:8443 your-user@your-server
この方法なら、ブラウザはローカルの http://127.0.0.1:8443 へ入り、実際の通信は SSH トンネル越しにサーバーへ届きます。
PC だけでなく、ローカルポートフォワードに対応した Android の SSH クライアントを使う構成でも考え方は同じです。
Tailscale Serve を使うとブラウザ主体で運用しやすい
Android からブラウザだけで入りたいなら、Tailscale Serve もかなり扱いやすいです。
2026年1月時点で検証された Tailscale Docs では、Tailnet 内のローカルサービスを HTTPS で共有する方法として tailscale serve が案内されています。
code-server が 8443 で動いているなら、たとえば次のようにできます。
sudo tailscale serve --bg https+insecure://localhost:8443
この形なら、自己署名証明書のローカルサービスでも Tailnet 内 URL 経由で扱いやすくなります。 外出先からも、Android 側で Tailscale に参加していればアクセスしやすいです。
Android 側の使い勝手を上げるコツ
結論として、Android 側は「ブラウザをアプリっぽく使う」「入力を改善する」の2点が効きます。 特に PWA 化と物理キーボードの有無で、実用感は大きく変わります。
PWA 化する
code-server の FAQ では、Chrome 利用時のショートカット対策として PWA インストールが案内されています。
Android の Chrome 系ブラウザでは、インストール可能なサイトだけでなく、多くのサイトをアプリ形式で扱えるため、まず試す価値があります。
PWA 化の利点は次の通りです。
- URL バーの存在感が減り、IDE に集中しやすい
- 起動がホーム画面からできる
- 一部ショートカットが通常ブラウザより扱いやすくなる
物理キーボードを前提にする
コード編集は、画面キーボードだけだとどうしても厳しいです。
Ctrl、Alt、記号入力を多用するので、Bluetooth キーボードはほぼ必須と考えたほうが快適です。
外部モニターや Samsung DeX を使えるなら、次の点でさらに有利です。
- 複数ペインを見やすい
- ターミナルとエディタを並べやすい
- PC に近いウィンドウ操作ができる
拡張機能の互換性に注意する
2026年4月11日時点の code-server FAQ では、code-server は Microsoft Marketplace を使えず、Open VSX ベースで拡張機能を提供する構成です。
そのため、VS Code デスクトップ版では使えても、code-server ではそのまま使えない拡張機能があります。
特に注意したいのは次のようなものです。
- Closed-source 前提の拡張機能
- Remote SSH / Containers / WSL 系に依存する構成
- Marketplace 依存が強い社内拡張
使いたい拡張があるなら、公開前に一度 Ubuntu 側で動作確認しておくと安全です。
この構成で実務に寄せるときの整理
実務で使うなら、Android で全部やるより Android からすぐ入れる状態を維持する という考え方が現実的です。 つまり、主役は Ubuntu 側の開発環境で、Android 側は即応用のクライアントと割り切ると運用が安定します。
おすすめの整理は次の通りです。
- Ubuntu 側に普段の開発環境を固定する
code-serverを Docker で常駐させる- 接続は SSH か Tailscale で閉じる
- Android 側は PWA + キーボードで操作性を上げる
- 重い作業や長時間作業は PC、隙間時間の編集は Android と分ける
この線引きにすると、過剰な期待で失敗しにくいです。
まとめ
Android で VS Code 相当の開発環境を扱うなら、code-server を Ubuntu 側へ置き、Android はブラウザクライアントとして使う構成が最も現実的です。
特に Docker 化しておくと、設定・移行・再構築がしやすく、端末を替えても再現しやすくなります。
要点をまとめると次の通りです。
- Android 単体開発より、リモート Ubuntu を使う薄いクライアント構成が安定する
code-serverは Docker 管理にすると再構築しやすい- 接続は raw 公開より SSH / Tailscale / HTTPS を優先する
- PWA 化と物理キーボードで操作感が大きく改善する
- 拡張機能は Open VSX ベースの互換性を事前確認する
「今すぐ少しだけ触りたい」「外出先でも緊急修正したい」という用途なら、Android は想像以上に強い開発端末になります。 まずは同一 LAN で動作確認し、その後に SSH か Tailscale へ寄せる流れから始めるのがおすすめです。