Build This Now
Build This Now
クロード・コードとは何か?Claude Code のインストールClaude Code ネイティブインストーラーClaude Code で最初のプロジェクトを作る
Subscription BillingMulti-Tenant SaaSAI Chat FeatureRate LimitingStripe WebhooksSemantic SearchRealtime UpdatesDrip Email Sequencesv2.1.122 Release NotesClaude Code の Dynamic Workflows:実際のコードベースで 1,000 個の subagents を動かす方法Claude Code ベストプラクティスClaude Opus 4.7 ベストプラクティスVPS上でのClaude CodeGit 統合Claude Code レビューClaude Code WorktreesClaude CodeリモートコントロールClaude Code ChannelsChannels、Routines、Teleport、DispatchClaude Code スケジュールタスクClaude Code権限管理Claude Code オートモードClaude Code で Stripe 決済を組み込むフィードバックループTodoワークフローClaude Code タスク管理プロジェクトテンプレートClaude Code の料金とトークン使用量Claude Code の料金:実際にいくら払うことになるのかClaude Code Ultra Review 完全ガイドClaude Code で Next.js アプリを作るSupabase DatabaseVercel DeepsecTest-Driven DevelopmentClaude Code で SaaS の MVP を作る方法Claude Code で認証を追加する(Supabase Auth)Claude Code でトランザクションメールを追加する(Resend + React Email)Claude Code で型安全な API を作る(oRPC + Zod)File UploadsBackground Jobs (Inngest)Admin DashboardFull-Text Searchエージェント型コマース:AI エージェントが支払えるアプリの作り方1M ContextGitHub ActionsHeadless ModeMax Plan vs APIPrompt Caching2026年、Claude Code で SaaS を作るといくらかかるかParallel AI AgentsCoding Agent Injection
speedy_devvkoen_salo
Blog/Handbook/Workflow/Running on a VPS

VPS上でのClaude Code

新規UbuntuのVPS上でClaude Codeを動かす。SSHのセキュリティ強化、Node.jsのインストール、Dockerによる分離、ヘッドレス認証、24時間365日稼働のサーバーに必要な監視コマンドを解説。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →
speedy_devvWritten by speedy_devvPublished Feb 9, 2026Handbook hubWorkflow index

問題: Claude Codeはノートパソコン上では自然に使えるが、リモートサーバーとなると話が変わる。長時間ジョブのために24時間365日稼働させたい場合、複数のマシンから環境を持ち回ることなくアクセスしたい場合、あるいは重いAI処理をノートパソコンのバッテリーから切り離したい場合もあるだろう。

仕組みを理解すれば、VPS上でClaude Codeを動かすのはシンプルだ。必要な構成要素はSSH、Node.js、認証、そして分離のためのDocker(任意)。本ガイドでは、新規Ubuntuサーバーにそのままペーストできるコマンドとともに、全セットアップを順を追って解説する。

VPSの選択と必要なもの

Claude CodeはNode.jsの一般的なアプリより多くのリソースを必要とする。モデル自体はAnthropicのサーバー上で動くが、ローカルプロセスはコンテキスト管理、ファイル操作、ツール実行を担う。

VPSの最低スペック:

  • vCPU 2個(マルチエージェントのワークロードには4個推奨)
  • RAM 4 GB(8 GB推奨)
  • SSDストレージ 40 GB
  • Ubuntu 22.04 または 24.04 LTS

おすすめのプロバイダー: 主要なVPSホストはどれも問題なく動作する。AWS Lightsail、DigitalOcean、Hetzner、Linodeはいずれも月額10〜20ドルでこのスペックを満たすプランを提供している。Hetznerはヨーロッパの開発者にとってコストパフォーマンスが高い。AWSの中にいるなら、Lightsailが最も簡単だ。

開始前に用意するもの:

  • Anthropic APIキー(console.anthropic.comから取得)またはPro/Maxサブスクリプション
  • サーバーへのSSHアクセス
  • ドメイン名(任意、Remote Controlアクセス用)

SSHセットアップとセキュアアクセス

まっさらなUbuntuサーバーから始める。多くのプロバイダーはパスワード付きのrootとしてログインする状態で渡してくる。最初にやるべきことはセキュリティ強化だ。

# 新しいサーバーに接続
ssh root@your-server-ip
 
# rootでないユーザーを作成
adduser deploy
usermod -aG sudo deploy
 
# SSHキー認証を設定
mkdir -p /home/deploy/.ssh
# ローカルマシンから実行する公開鍵のコピー:
# ssh-copy-id deploy@your-server-ip
 
# パスワード認証を無効化
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

他のものをインストールする前に、基本的なファイアウォールを設定する:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

以降は常にrootでないユーザーとして接続する: ssh deploy@your-server-ip。

ヘッドレスサーバーへのClaude Codeインストール

Claude CodeにはNode.js 18以上が必要だ。現行LTSにはNodeSourceリポジトリを使う:

# Node.js 22 LTSをインストール
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
 
# インストールを確認
node --version  # v22.xと表示されるはず
npm --version
 
# Claude Codeをグローバルにインストール
npm install -g @anthropic-ai/claude-code
 
# Claude Codeのインストールを確認
claude --version

認証: ブラウザのないヘッドレスサーバーではAPIキーで認証する。

# AnthropicのAPIキーを設定
export ANTHROPIC_API_KEY="sk-ant-..."
 
# セッションをまたいで永続化するには、シェルのプロファイルに追加
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
source ~/.bashrc

Pro/MaxサブスクリプションでOAuth認証を使いたい場合は、claudeを一度実行して、表示された認証URLをコピーし、任意のデバイスのブラウザで開いてから、コードをターミナルに貼り付ける。

非インタラクティブモードでのClaude Code実行

サーバーで便利なのはヘッドレスモードであり、インタラクティブなチャットではない。自動化がここから始まる。

単一コマンドの実行:

# 1つのタスクを実行して終了
claude -p "Review the codebase in /opt/apps/myproject and list any security issues"
 
# 処理のための入力をパイプ
cat error-log.txt | claude -p "Analyze these errors and suggest fixes"

-pフラグ(プリントモード)はClaude Codeを非インタラクティブに実行する。プロンプトを読み込み、結果を出力して終了する。チャットUIも、入力待ちもない。

リモート管理のためにSSHと組み合わせる: VPSにホストされたClaude Codeの真価がここで発揮される。ローカルマシンから:

# ノートパソコンからサーバー上のClaude Codeを実行
ssh deploy@your-server "cd /opt/apps/myproject && claude -p 'Run the test suite and fix any failures'"

Remote Controlを使えば、スマートフォンや別のデバイスから実行中のインタラクティブセッションに飛び込むこともできる。長時間のエージェント実行を監視するときに便利だ。

Dockerデプロイのワークフロー

Dockerは分離性と再現性を加える。何か壊れたら、コンテナを削除して新しいものを起動する。汚染されたサーバーをクリーンアップする必要はない。

Claude Codeワークスペース用の**docker-compose.ymlを作成する**:

version: "3.8"
services:
  claude-workspace:
    image: node:22-slim
    container_name: claude-code
    working_dir: /workspace
    volumes:
      - ./projects:/workspace
      - claude-cache:/home/node/.claude
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - NODE_ENV=production
    command: >
      bash -c "
        npm install -g @anthropic-ai/claude-code &&
        tail -f /dev/null
      "
    restart: unless-stopped
 
volumes:
  claude-cache:

ワークスペースを起動して使う:

# コンテナを起動
docker compose up -d
 
# コンテナ内でClaude Codeを実行
docker exec -it claude-code claude -p "List all files in the workspace"
 
# インタラクティブセッションを開く
docker exec -it claude-code claude
 
# コンテナのログを表示
docker logs claude-code

tail -f /dev/nullの行はコンテナを生かしておくので、好きなだけexecできる。claude-cacheボリュームはコンテナ再起動をまたいでClaudeの認証とセッションデータを保持する。

プロジェクト固有のコンテナには、プロジェクトごとに別のcomposeファイルを使う。それぞれが必要なファイルだけをマウントした分離された環境を持つ。

監視とログ管理

VPS上で長時間稼働するClaude Codeセッションは目を光らせておく必要がある。午前3時にプロセスが静かにクラッシュするのは避けたい。

SSH切断後もセッションが生き続けるようtmuxまたはscreenを使う:

# 新しいtmuxセッションを開始
tmux new -s claude-session
 
# tmux内でClaude Codeを実行
cd /opt/apps/myproject
claude
 
# デタッチ: Ctrl+B, 次にD
# 後で再アタッチ:
tmux attach -t claude-session

常時稼働のClaude Codeワーカー用のsystemdサービス:

# /etc/systemd/system/claude-worker.service
[Unit]
Description=Claude Code Worker
After=network.target
 
[Service]
Type=simple
User=deploy
WorkingDirectory=/opt/apps/myproject
Environment=ANTHROPIC_API_KEY=sk-ant-...
ExecStart=/usr/bin/claude -p "Analyze /var/log/app.log for errors since the last check and write a summary to /opt/apps/myproject/issues/latest-report.md"
Restart=always
RestartSec=3600
 
[Install]
WantedBy=multi-user.target
sudo systemctl enable claude-worker
sudo systemctl start claude-worker
 
# ステータスを確認
sudo systemctl status claude-worker
 
# ログを表示
journalctl -u claude-worker -f

よくあるエラーと実際の解決策

「EACCES: permission denied, mkdir '/usr/lib/node_modules'」

rootでNode.jsをインストールしたため、npmがグローバルインストールの書き込みアクセスを求めている。修正:

sudo chown -R $(whoami) /usr/lib/node_modules
# または、より良い方法: nvmのようなNodeバージョンマネージャーを使う

「Error: Unable to open browser for authentication」

ヘッドレスサーバーでは正常。上記のAPIキー方式を使うか、別のデバイスのブラウザに認証URLを貼り付ける。

OOM(メモリ不足)によるClaude Codeプロセスのkill

VPSのRAMが不足している。多数のサブエージェントを生成するマルチエージェントセッションはエージェントごとにメモリを消費する。解決策:

# 現在のメモリ使用量を確認
free -h
 
# スワップ領域がなければ追加
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

長時間のClaude CodeセッションでSSH接続が切断される

ローカルマシンでSSHキープアライブを設定する:

# ~/.ssh/config
Host your-server
    HostName your-server-ip
    User deploy
    ServerAliveInterval 60
    ServerAliveCountMax 3

あるいはtmux内で実行する(上記参照)。そうすればSSHが切断してもセッションは継続する。

セキュリティの考慮事項

実際の認証情報を保持するサーバー上でAIコーディングエージェントを動かすには、特別な注意が必要だ。

APIキーは絶対にコミットしない。環境変数またはシークレットマネージャーを使う:

# gitignoreされた.envファイルを使う
echo "ANTHROPIC_API_KEY=sk-ant-..." > /opt/apps/myproject/.env
 
# シェルで読み込む
set -a; source /opt/apps/myproject/.env; set +a

自動タスクではClaude Codeのファイルアクセスを制限する。--sandboxフラグでファイルシステムとネットワークアクセスを制限できる:

claude --sandbox -p "Analyze this codebase for security issues"

Fail2banでSSHへのブルートフォース攻撃をブロックする:

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

サーバーを常に最新の状態に保つ:

sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y

次のステップ

VPSにホストされたClaude Codeは、ローカルマシンではできないワークフローを可能にする。24時間365日稼働、眠っている間に動くスケジュールタスク、ノートパソコンのバッテリーを消費しないマルチエージェントセッション。gitのworktreeと組み合わせてブランチごとの分離された作業を実現したり、Remote Controlでスマートフォンからセッションを操作したりすることもできる。

小さく始めよう。SSHで基本的なVPS上でClaude Codeを動かすことから始める。分離が必要になったらDockerを加える。自動化が必要になったらsystemdサービスを加える。そこから拡張していく。

Continue in Workflow

  • エージェント型コマース:AI エージェントが支払えるアプリの作り方
    2026年のエージェント型コマースをわかりやすく解説するガイド。x402、ACP、Machine Payments Protocol が何をするのか、そして AI エージェントが購入できる有料 API を週末で出荷するための手順を紹介します。
  • Claude Code ベストプラクティス
    Claude Codeで成果を出すエンジニアを分ける5つの習慣: PRD、モジュラーなCLAUDE.mdのルール、カスタムスラッシュコマンド、/clearリセット、そしてシステム進化の思考法。
  • Claude Code オートモード
    2つ目の Sonnet モデルが、Claude Code のすべてのツール呼び出しを実行前に審査します。オートモードがブロックするもの・許可するもの、そして settings.json に追加される許可ルールについて解説します。
  • Channels、Routines、Teleport、Dispatch
    Anthropic が2026年3月と4月に出荷した4つの Claude Code 機能。これらは CLI を、スマホ・ウェブ・デスクトップをまたぐイベント駆動の調整レイヤーに変えます。
  • Claude Code 1M Context in Practice: When Bigger Isn't Better
    The 1M-token context window is GA at flat pricing, but bigger isn't always better. A decision framework, token-cost math, and when to use /compact, subagents, and dynamic workflows instead.
  • How to Build an Admin Dashboard With Claude Code
    Ship an internal admin panel with Claude Code: role-gated routes, a searchable users and orders table with pagination, impersonation-safe RLS, and metrics tiles pulled through a type-safe API.

More from Handbook

  • エージェントの基礎
    Claude Codeでスペシャリストエージェントを構築する5つの方法:タスクサブエージェント、.claude/agents YAML、カスタムスラッシュコマンド、CLAUDE.mdペルソナ、パースペクティブプロンプト。
  • エージェント・ハーネス・エンジニアリング
    ハーネスとは、AIエージェントを構成するモデル以外のすべての層のことです。5つの制御レバー、制約のパラドックス、そしてなぜハーネス設計がモデルよりもエージェントのパフォーマンスを左右するのかを学びましょう。
  • エージェントパターン
    オーケストレーター、ファンアウト、バリデーションチェーン、スペシャリストルーティング、プログレッシブリファインメント、ウォッチドッグ。Claude Code のサブエージェントを組み合わせる6つのオーケストレーション形状。
  • エージェントチームのベストプラクティス
    Claude Code エージェントチームの実証済みパターン。コンテキストが豊富なスポーンプロンプト、適切なサイズのタスク、ファイルオーナーシップ、デリゲートモード、v2.1.33〜v2.1.45 の修正内容。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →

Claude Opus 4.7 ベストプラクティス

Claude Code で Opus 4.7 を使いこなすための実践ガイド。最初のターンの書き方、エフォート設定、アダプティブシンキング、ツール指示、サブエージェント、セッション管理、トークンコスト最適化まで。

Git 統合

Claude Code がターミナルから git を操作する。平易な日本語でやりたいことを伝えると、チームの規約に従ったコミット、ブランチ、PR が作成される。

On this page

VPSの選択と必要なもの
SSHセットアップとセキュアアクセス
ヘッドレスサーバーへのClaude Codeインストール
非インタラクティブモードでのClaude Code実行
Dockerデプロイのワークフロー
監視とログ管理
よくあるエラーと実際の解決策
セキュリティの考慮事項
次のステップ

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →