AI 併走開発環境を別マシンに分離できた構成 Tailscale + Ubuntu + Docker + Claude Code + Git リポジトリ のメモ 2026 年 4 月時点

AI 併走開発環境を別マシンに分離できた構成 Tailscale + Ubuntu + Docker + Claude Code + Git リポジトリ のメモ 2026 年 4 月時点

AI 併走開発環境を別マシンに分離できた構成 Tailscale + Ubuntu + Docker + Claude Code + Git リポジトリ のメモ 2026 年 4 月時点です。

背景

まだまだ試行錯誤はしているものの、半年かけて落ち着いては来ました。現在地のスナップショットです。

Docker で分離する以前の話としてメイン環境(私の場合、Windows)に直接 Claude Code を入れて動かす場合の問題としてまず、メイン環境で AI に強い権限を与える前提となりますが、大事なデータと開発環境が同居している危険があります。いくら強いプロンプトで制御したとて、変な指示(または AI の誤解釈)でファイル全消しの可能性がありました。

また、私の事情に強く寄りますが、一時期試して断念した Windows + Docker(WSL2)の課題もありました。

WSL2 経由の Docker Desktop は設定は私の体感として以前よりは扱いやすく、かつ、私のとって理解しやすくなっていたのでノリノリで使えていたものの、問題は、使い込んだその先でした。

WSL2 ↔ Windows 間も多少触りたいがためにファイルシステムのパフォーマンス問題がありました。これ、完全分離すると、メイン機で運用するメリットがだいぶ下がっちゃうので悩ましい。

加えて、WSL2 が肥大化しがちでメモリ消費が読みにくいところがありました。そうでなくても、ゲーミング PC 手前のクリエイティブ PC レベルで 32 GB メモリを積んでも、メイン機のブラウザ、 VSCode や Unity などなど動かしてて、WSL2 も本格的に使うとなると並行するとメインも WSL2 も両方が重くなるという状況にも陥りやすかったです。

あと地味に、AI 駆動させる設定系もメイン環境に混ざりやすかったりする管理の難しさというところも見逃せませんでした。

Tailscale + Ubuntu + Docker + Claude Code + Git リポジトリ で分離してみた

いろいろなことはありましたが、まとめると、Tailscale + Ubuntu + Docker + Claude Code + Git リポジトリ で分離してうまく回っています。

  • 別 PC(Ubuntu)
    • AI 開発専用機。メイン PC とは物理的に分離しています。
    • 家のネットワークの中で回しているので基本的には外部に露出していません。
  • Tailscale(VPN)
    • メイン PC と別 PC を安全につなぐ。面倒な設定なしに同じ LAN にいる感覚で使えます。
    • アクセスコントロールは気をつける必要ありますが、基本的には Tailscale アカウントで守られた中での VPN アクセスが可能
  • Docker
    • Ubuntu 上で動かすコンテナ環境。Claude Code まわりをここに閉じ込めています。
  • Claude Code を動かす Web UI
    • ブラウザから Claude Code に指示を出せる Web UI。メイン PC のブラウザから操作しています。
    • Claude Code UI siteboon/claudecodeui をよく使ってますが最近は近い機能を持った自作の仕組みも模索中
  • Claude Code
    • 実際に AI 駆動で動くコーディングエージェント本体。余裕ができたら Codex や Gemini も試したいけど今は Claude Code 一本。
  • プライベートリポジトリ
    • ここは作業したいプロジェクトのリポジトリ。Git で管理。

おおまかに、こんな仕組みです。

よかったこと

まず良かった点としては、マシンパワーが分かれることで開発に専念しやすいところですね。メイン機は他の作業に注力しつつ、ここでいう Ubuntu の AI 開発機のほうは開発が回せる。もっといえば AI 開発機はブラウザや常駐アプリなど余計な処理はせず処理パワーが動かせる。

そして Docker で閉じているので、もし環境を壊してもメイン機には影響なしなのも安心。-1 → 0 → 1 的にプロトタイピング開発や実験的な試行錯誤をする私にとっては気軽に試せるという自己操縦感がぐっと上がりました。

あと、不思議なもので、そういう割り切りをすると壊す機会がなくなるっていうのが面白いところですね~。

Tailscale と付随する ACL(アクセスコントロール)についてもありがたいです。ACL(アクセスコントロール)によって、

  • 外部 → Ubuntu
    • 禁止(Tailscale 内のみ)
    • 外部に露出しない
  • メイン機 → Ubuntu
    • 許可(開発指示、結果確認)
  • Ubuntu → メイン機
    • 禁止(逆流させない)

というのと心がけてます。

これで認証を Tailscale に任せることで、アプリ側は(一旦は)認証不要ではじめられてシンプルにスタートできるのがいいですね。とはいえ、開発が進むと認証の実装はします。

実際の運用イメージと最近の懸案

実際の流れはこんな感じです。

  • メイン機で「これ作りたい」を考える
  • メイン機のブラウザで Ubuntu 上の Claude Code への Web UI にアクセス
  • 対話しながら開発
  • 成果物はつど GitHub Private Repo に push

ここはうまく回っていますね。

もちろん、Claude Code への Web UI が Claude Code UI 頼みになりがちなのが恐怖だったり、Docker が重要になってくるだけに繰り返しの作ることになるコンテナ環境づくりも整えないとな~となったり、AI をどれだけ制御しようとしても甘いチェックのまま勝手にプッシュしたりコミットログについつい Co-Author で「私(Claude Code)がやりました!ドヤァ」とかなるのをどうするかとか、すぐに先々の大変さは見えてくるのですが、振り返ってみると、基礎の構造は安定してきたのでまとめてみました!