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-server8443 で動いているなら、たとえば次のようにできます。

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 に集中しやすい
  • 起動がホーム画面からできる
  • 一部ショートカットが通常ブラウザより扱いやすくなる

物理キーボードを前提にする

コード編集は、画面キーボードだけだとどうしても厳しいです。 CtrlAlt、記号入力を多用するので、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 側は即応用のクライアントと割り切ると運用が安定します。

おすすめの整理は次の通りです。

  1. Ubuntu 側に普段の開発環境を固定する
  2. code-server を Docker で常駐させる
  3. 接続は SSH か Tailscale で閉じる
  4. Android 側は PWA + キーボードで操作性を上げる
  5. 重い作業や長時間作業は 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 へ寄せる流れから始めるのがおすすめです。

参考リンク