# Hyperfy V2 Worldをホストする方法 **Published by:** [masia](https://paragraph.com/@masia02-2/) **Published on:** 2025-05-20 **URL:** https://paragraph.com/@masia02-2/hyperfy-v2-world ## Content 目次はじめにインストール手順ホスティング独自ドメイン設定運用・更新・トラブルシューティングFly.ioとDigital Oceanの比較Hyperfy用のアセットを作成)FAQ(よくある質問)公式リソース・参考リンク1. はじめにNTT XR Space WEB(DOOR)は、2025年3月31日(月)をもって終了となります。代替サービスとして、Hyperfyの活用を提案します。 Hyperfyは、ThreejsとPhysXを活用したオープンソースのブラウザベース3Dエンジンです。専門知識がなくても、誰でも仮想空間を構築・公開できます。 https://docs.hyperfy.xyz/2. インストール手順前提条件Node.js: バージョン22.11.0以上Git: プロジェクトのクローンに必要2.1 プロジェクトのクローンまず、Hyperfyのリポジトリをローカルにクローンします。# プロジェクトをクローン git clone https://github.com/hyperfy-xyz/hyperfy.git my-world # ディレクトリに移動 cd my-world 2.2 環境ファイルの作成.env.exampleをコピーして.envファイルを作成します。cp .env.example .env 2.3 依存パッケージのインストール依存パッケージをインストールします。2.4 開発サーバーの起動ローカルで動作確認を行います。npm run dev ブラウザで http://localhost:3000/ を開き、ワールドが表示されることを確認してください。StartWASD or 矢印キーで移動VRMファイルを画面にドラッグ&ドロップ。Equipボタンをクリックでアバターを変更できます。VRM3DモデルはGLBファイルを画面にドラッグ&ドロップで配置できます。3. ホスティング3.1.1 ホスティングプロバイダーHyperworlds.host は簡単に始められ、特化したサポートが受けられる一方で、コストが月額 5ドル〜で、カスタマイズに制限があります。 https://hyperworld.host/3.2.1 セルフホスティングプロバイダー(Fly.io)Fly.ioアカウント作成Fly.io にアクセスし、アカウントを作成します。fly.tomlファイルの作成プロジェクトのルート フォルダー ( my-world) にて、touch fly.toml これで、空のfly.tomlファイルが作成されます[yourappname] をプロジェクト名 (my-world) に変更して保存します。app = '[yourappname]' primary_region = 'nrt' [env] NODE_ENV = 'production' WORLD = 'world' PORT = '3000' SAVE_INTERVAL = '60' PUBLIC_MAX_UPLOAD_SIZE = '12' PUBLIC_WS_URL = 'https://[yourappname].fly.dev/ws' PUBLIC_API_URL = 'https://[yourappname].fly.dev/api' PUBLIC_ASSETS_URL = 'https://[yourappname].fly.dev/assets' [mounts] source = 'data' destination = '/app/world' auto_extend_size_threshold = 75 auto_extend_size_increment = '1GB' auto_extend_size_limit = '5GB' [build] [http_service] internal_port = 3000 force_https = true auto_stop_machines = 'stop' auto_start_machines = true min_machines_running = 0 processes = ['app'] [vm] memory = '2gb' cpu_kind = 'shared' cpus = 1 3.2.2 Fly CLIのインストールFly.ioのCLIをインストールします。curl -L https://fly.io/install.sh | sh インストール後、PATHに追加されていない場合は以下を実行 ( fly.ioをmacのターミナルで使うコマンド ):export PATH="$HOME/.fly/bin:$PATH" 3.2.3 アプリケーションの初期化プロジェクトルートで以下を実行します。touch fly.toml fly launchでアプリ名やリージョン(例:nrt=東京)を選択します。アプリ名を入力リージョンを選択(nrt推奨)PostgreSQLやRedisは「No」3.2.4 ボリュームの作成支払い方法登録後、ボリュームを作成します。fly volume create data -r nrt 3.2.5 シークレットの設定セキュリティのため、シークレットを設定します。fly secrets set JWT_SECRET=(十分にランダムな値を推奨) fly secrets set ADMIN_CODE=(十分にランダムな値を推奨) 注意: シークレットは漏洩しないよう厳重に管理してください。変更後は再デプロイが必要な場合があります。3.2.6 アプリケーションのデプロイ3.2.7 デプロイ状況の確認fly status fly logs 3.2.8 アプリケーションへのアクセスブラウザで https://[yourappname].fly.dev にアクセスし、動作を確認します。4. 独自ドメイン設定4.1 DNSレコードの追加CNAMEレコード推奨:ホスト名: @ または www値: [yourappname].fly.devA/AAAAレコードの場合は fly ips list でIPを取得4.2 証明書の発行・検証fly certs show example.com 表示された指示に従い、DNSに _acme-challenge のCNAMEを追加します。4.3 環境変数の更新fly secrets set PUBLIC_WS_URL=https://example.com/ws fly secrets set PUBLIC_API_URL=https://example.com/api fly secrets set PUBLIC_ASSETS_URL=https://example.com/assets 再デプロイ:4.4 証明書関連コマンド証明書一覧: fly certs listDNS設定確認: fly certs check example.com削除: fly certs remove example.comCloudflare利用時の注意Universal SSLは干渉する場合があるため無効化を検討SSL/TLSモードは「Full」または「Full (Strict)」推奨5. 運用・更新・トラブルシューティング5.1 リポジトリの更新cd my-world git fetch origin git pull origin main 5.2 依存関係の更新5.3 ビルド・動作確認npm run build npm run dev 5.4 再デプロイfly.ioをmacのターミナルで使うコマンドを入力export PATH="$HOME/.fly/bin:$PATH" Fly.ioにデプロイデプロイ状況を確認fly status fly logs 5.5 ロールバックgit reset --hard <commit-hash> fly deploy 5.6 変更履歴の確認git log --oneline origin/main..HEAD 5.7 トラブルシューティングデプロイ失敗時:fly logsでエラー内容を確認。npm installエラー:Node.jsバージョンや依存パッケージのバージョンを確認シークレット漏洩時:即座に新しい値で上書きし、再デプロイ独自ドメインが反映されない:DNS設定や証明書発行状況を再確認6. Fly.ioとDigital Oceanの比較Fly.ioとDigital Oceanは、どちらも仮想空間のホスティングに利用できる人気のクラウドサービスですが、それぞれ特徴が異なります。 Fly.ioは、フルマネージド型のサービスで、初期設定が非常に簡単です。コマンドラインから「fly launch」と「fly deploy」の2つのコマンドで素早くデプロイでき、メモリ拡張やHTTPS設定も自動化されています。小~中規模のワールドをすぐに公開したい場合や、サーバー管理の経験が少ない方に特におすすめです。料金も月5ドル程度から利用でき、コストを抑えたい場合にも向いています。 一方、Digital Oceanはセルフマネージド型で、OSレベルから自由にカスタマイズできるのが大きな特徴です。初期設定や運用にはある程度のサーバー管理スキルが必要ですが、SSH接続による完全なサーバー管理や、CDN・DDoS保護などの高度な設定も可能です。大規模なワールドや、細かいカスタマイズが必要な場合、また長期運用を考えている場合に適しています。料金は1GB RAMの最小構成で月6ドル程度から利用できます。 Fly.ioが向く場合すぐに公開したいサーバー管理経験が少ない小~中規模運用Digital Oceanが向く場合カスタム設定やCDNを詳細に管理したい大規模運用やサーバー管理スキルがあるhttps://github.com/hyperfy-xyz/hyperfy/wiki/Deploy-a-world-(Digital-Ocean) まとめると、「すぐに公開したい」「管理を簡単にしたい」場合はFly.io「細かい制御や大規模運用が必要」「サーバー管理に慣れている」場合はDigital Ocean がおすすめです。ご自身の技術レベルや運用規模に合わせて選択してください。7. Hyperfy用のアセットを作成Blenderで3Dモデルを作成し、glbファイルを書き出す時にHyperfy用にコライダーなどを設定する場合は、BlenderアドオンのHyperfy Toolsを利用すると便利です。 https://extensions.blender.org/add-ons/hyperfy-tools/hypファイルBuildモードで配置したglbファイルの3DモデルをRキーをクリックするとInspectでcodeを追加していろんな機能を付与できます。Downloadすると.hyp形式のファイルになります。8. FAQ(よくある質問)Q. メモリはどれくらい必要? A. 最低2GB以上を推奨。512MBでも動作しますが安定性に欠けます。 Q. 独自ドメインは必須? A. 必須ではありませんが、ブランディングや信頼性向上のため推奨されます。 Q. シークレット値はどのように管理すべき? A. ランダムな強力な値を使用し、漏洩時は即座に変更・再デプロイしてください。 Q. ローカルの変更が競合した場合は? A. 競合解消後、必ず動作確認を行ってからデプロイしてください。9. 公式リソース・参考リンクHyperfy公式ドキュメントFly.io公式ドキュメントHyperfy Tools for BlenderDigital Ocean公式サイトhttps://play.dwebxr.xyz/まとめHyperfy V2 Worldは、HyperWorlds.hostやFly.io・Digital Oceanを活用することで、誰でも簡単に仮想空間を公開できます。定期的なアップデートやセキュリティ管理を徹底し、快適な運用を目指しましょう。 ## Publication Information - [masia](https://paragraph.com/@masia02-2/): Publication homepage - [All Posts](https://paragraph.com/@masia02-2/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@masia02-2): Subscribe to updates - [Twitter](https://twitter.com/masia02): Follow on Twitter