はじめに
「Conoha VPS、意外とありかも?」 前回そう感じた方へ。今回はそのConoha VPSを「単なるサーバー」から**「自分専用のAI自動化基地」**へと進化させる手順を解説します。
構築するのは、高機能なローコード自動化ツール**「n8n」**。 クラウド版(月額約3,000円〜)と同等の環境を、VPS(月額数百円〜)で構築します。
「黒い画面(ターミナル)での設定が面倒…」 「SSL証明書の更新とか管理したくない…」
安心してください。今回は**「Docker」と「Caddy」という現代的なツール選定により、コマンドをコピペするだけで構築が完了するように設計しました。さらに記事後半では、AIエディタCursor**を使って、n8nのワークフロー開発を爆速化するテクニックも公開します。
なぜこの構成なのか?(技術選定の理由)
構築を始める前に、「なぜこの組み合わせが最強なのか」を少しだけ解説します。ここが分かると、他のツール構築にも応用が効きます。
1. なぜ ConoHa VPS なのか?
AWSやGCPではなくConoha VPSを選ぶ理由は2つ。「圧倒的なセットアップ速度」と「国内IPの信頼性」です。 特にConoha VPSには**「Dockerインストール済みイメージ」**が用意されています。通常なら apt-get update して docker install して…という面倒な儀式が一切不要。契約ボタンを押した瞬間、コンテナを動かす準備が整っています。
2. なぜ Nginx ではなく Caddy なのか?
Webサーバーといえば Nginx が定番ですが、今回は Caddy を採用しました。 理由はシンプル。**「設定ファイルが3行で済み、SSL(https)化が完全自動だから」**です。
- Nginxの場合: 設定ファイルが数十行。Certbotを入れて、証明書を発行して、Cronで自動更新の設定をして…と手間が多い。
- Caddyの場合: ドメインを書くだけで、Let’s Encryptの証明書取得・設定・更新を勝手にやってくれます。
個人開発や社内ツールにおいて、Caddyを使わない手はありません。
手順1:ConoHa VPSで「Docker」イメージを選ぶ
ここが最初の時短ポイントです。 Conoha VPS申し込み時、以下の構成を選択します。
- イメージタイプ: アプリケーション
- アプリケーション: Docker (最新バージョン)
- サイズ: 1GBプラン以上(※AI系の重い処理や大量のWebhookを捌くなら2GB推奨)
サーバーが起動したら、「IPアドレス」を控えておいてください。
手順2:ドメインのDNS設定
お持ちのドメイン(例: example.com)のサブドメイン(例: n8n.example.com)でアクセスできるようにします。 ドメイン管理画面(お名前.comやConoHa DNSなど)で、以下のレコードを追加します。
- タイプ: Aレコード
- ホスト: n8n
- 値: [手順1で控えたVPSのIPアドレス]
※設定が反映されるまで数分〜数時間かかる場合があります。
手順3:SSHでログインして「魔法のファイル」を作る
ターミナルを開き、サーバーに接続します。
Bash
ssh root@<あなたのVPSのIPアドレス>
# パスワードを入力してログイン
n8n用のディレクトリを作成し、移動します。
Bash
mkdir n8n-setup && cd n8n-setup
① docker-compose.yml の作成
n8nとCaddyを連携させる設定ファイルを作ります。以下のコマンドでエディタを開き、中身をコピペしてください。
Bash
nano docker-compose.yml
▼ コピペ用コード (※ n8n.example.com の2箇所を、必ずあなたのドメインに書き換えてください!)
YAML
version: '3.8'
services:
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- caddy_data:/data
- caddy_config:/config
- ./Caddyfile:/etc/caddy/Caddyfile
depends_on:
- n8n
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678" # 外部から直接5678ポートにはアクセスさせない
environment:
- N8N_HOST=n8n.example.com # ★ここを変更
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.example.com/ # ★ここを変更
- GENERIC_TIMEZONE=Asia/Tokyo
volumes:
- n8n_data:/home/node/.n8n
volumes:
caddy_data:
caddy_config:
n8n_data:
保存:Ctrl + O → Enter 終了:Ctrl + X
② Caddyfile の作成
次に、Caddyの設定ファイルです。驚くほどシンプルです。
Bash
nano Caddyfile
▼ コピペ用コード (ここもドメインを書き換えてください)
Plaintext
n8n.example.com {
reverse_proxy n8n:5678
}
保存して終了します。
手順4:スイッチオン!
準備完了です。以下のコマンド一発でサーバーが立ち上がります。
Bash
docker compose up -d
数秒待ってからブラウザで https://n8n.example.com にアクセスしてください。 鍵マーク(SSL)がついた状態でn8nのセットアップ画面が表示されれば大勝利です!
【応用】Cursor × n8n で「コードを書かない開発」へ
ここからが本番です。n8nはノーコードツールですが、複雑な処理をしようとすると「Codeノード(JavaScript)」が必要になります。
「JSなんて書きたくない…」 そこでCursorの出番です。
ケース1:複雑なデータ整形を丸投げする
例えば、APIから取得した複雑なJSONデータから「特定の条件の顧客リスト」だけを抜き出して整形したい場合。 CursorのChat(Command + L)に、サンプルデータ(JSON)を貼り付けてこう指示します。
プロンプト例: 「n8nのCodeノード用のJavaScriptを書いて。 上記のJSONデータから『statusがactive』かつ『last_loginが30日以内』のユーザーだけを抽出して。 出力は
{ "email": "...", "name": "..." }の形式に整形して返して。」
これだけで、n8n特有の return items; の形式に準拠したコードを一瞬で生成してくれます。
ケース2:正規表現(Regex)を作らせる
メール本文から「注文番号」や「請求金額」を抜き出したい時、正規表現を自力で書くのは苦行です。
プロンプト例: 「このメール本文から『注文番号:12345-AB』のようなパターンを抽出する正規表現を教えて。n8nのJavascriptでそのまま使える形で。」
ケース3:APIリクエストの構成
外部APIを叩く際、認証ヘッダーやBodyの作り方が面倒な時も、ドキュメントのURLをCursorに渡して指示します。
プロンプト例: 「@Docs (APIドキュメントのURL) を参照して。 n8nのHTTP Requestノードで、ユーザー一覧を取得するための設定値を教えて。認証ヘッダーはどう書けばいい?」
まとめ:自分だけの自動化基盤を持とう
月額数百円のConoHa VPSに、DockerとCaddyを使って最強の自動化ツールn8nを構築しました。
- ConoHa VPS: 面倒な環境構築をスキップ
- Docker & Caddy: コピペ構築&SSL管理からの解放
- n8n × Cursor: アイデアを即座に自動化フローへ変換
これで、あなたの手元には「どんな業務も自動化できる基盤」が整いました。あとは、あなたのアイデア次第で「時間」を生み出し放題です。
ぜひ今週末、この「最強の実験室」を手に入れてみてください。
補足:セキュリティについて(最低限やっておこう)
構築後、最低限のファイアウォール設定は行っておきましょう。ConoHaのコンソール画面にある「接続許可ポート」の設定を使うか、サーバー内で ufw を設定することをお勧めします。
Bash
# SSH(22), HTTP(80), HTTPS(443) のみを許可する例
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable