Void: Vite のフルスタックアプリを Cloudflare にデプロイする(設定は void.config.ts に集約)
Cloudflare(VoidZero)が公開した OSS の SDK・CLI・セルフホスト基盤。中身は Hono・Drizzle ORM・Better Auth で、void init から void deploy までで D1 などのリソース作成とマイグレーションも済む。
どんなときに使う?
- Vite で作るフルスタックアプリを、Workers・D1・KV・R2 込みで手早く出したいとき
- 社員が作ったアプリを、自社の Cloudflare アカウント内の共通基盤に安全にデプロイさせたいとき(Void Platform)
やり方
- 作成
pnpm create void my-app # ディレクトリ作成まで # 既存の Vite アプリなら: pnpm add -D void && pnpm void initUI フレームワーク、スターター、デプロイ先を選ぶ。ビルドツールの既定は Vite+。最初の DB はローカルでそのまま動く D1 が無難
- ローカル実行:
npm run dev→http://localhost:5173 - API ルート:
routes/api/hello.tsにdefineHandlerで書くと、パスが URL になり、クライアントのfetch(void/client)に戻り値の型が付く - デプロイ:
npx void deploy(未設定なら--platform cloudflare)。ブラウザでログイン → ビルド → リソース作成 → マイグレーション → URL 表示
設定の置き場所
cloudflare.config.tsやwrangler.jsoncは置かない。Cloudflare の設定はvoid.config.tsのcloudflareフィールド に書くと、生成される Worker 設定にそのまま渡される- 作成したリソースの ID とマイグレーション履歴は
void.lock.jsonに記録される。void.config.tsと一緒にコミットする(生成された Cloudflare 設定ファイルはコミットしない) - 既存の
wrangler.json(c)はvoid init/void deploy時に移行され、バックアップが.void/config-migration/に残る
ts
import { defineConfig } from 'void/config';
export default defineConfig({
cloudflare: {
name: 'my-app',
workers_dev: false, // *.workers.dev の公開 URL を止める
},
});@__syumai は試したアプリが荒らされると面倒なので workers_dev: false にしていた。カスタムドメインだけで出したいときや、公開前の試作に使える。
Void CLI と cf CLI
cf CLI- Void CLI は内部で Cloudflare の新しい
cfCLI を使っている cfCLI はcf cli searchサブコマンドで操作を探せる。エージェントに「cfCLI で〇〇して」と頼むと、cf --help→cf cli searchとたどって自分で適切なコマンドを見つけた、という報告がある- 一方で、wrangler から移行するときに対応する
cfコマンドを探すのに手間取ったという声もある(対応表はまだない)
Void Platform(チーム向けセルフホスト)
- 自社の Cloudflare アカウントに基盤を立て、開発者は Void CLI をその URL に向けてデプロイする。ログインは GitHub・Google・OIDC・Cloudflare Access
- Workers for Platforms が必要。ログの保持やデプロイ履歴からのロールバックが付く
- 基盤自体も OSS なので、フォークして社内システムに合わせられる
- @__syumai の読みでは、基盤の構成に PostgreSQL が必要で Cloudflare だけでは完結しないもよう
注意点
- 出たばかり。
cfCLI はベータ - pnpm でビルドスクリプトがブロックされたら
pnpm approve-buildsでesbuild・sharp・workerdを許可する - 自分用に出すだけなら Platform は不要。Cloudflare へ直接デプロイすればよい
出典
- @Cloudflare · 2026-10-15
- @yusukebe · 2026-10-16
- @__syumai · 2026-10-16
- @__syumai(設定は
void.config.ts、Void CLI はcfCLI を使う): @__syumai · 2026-10-16 - @__syumai · 2026-10-16
- @__syumai · 2026-10-16
- @__syumai · 2026-10-16
- @chimame_rt · 2026-10-16
- @zaru · 2026-10-16
- ドキュメント: void.cloud/guide/quickstart / void.cloud/reference/config / void.cloud