# Hyperfy V2 Worldをホストする方法

By [masia](https://paragraph.com/@masia02-2) · 2025-05-20

---

目次
--

1.  はじめに
    
2.  インストール手順
    
3.  ホスティング
    
4.  独自ドメイン設定
    
5.  運用・更新・トラブルシューティング
    
6.  Fly.ioとDigital Oceanの比較
    
7.  Hyperfy用のアセットを作成）
    
8.  FAQ（よくある質問）
    
9.  公式リソース・参考リンク
    

* * *

1\. はじめに
--------

NTT XR Space WEB（DOOR）は、2025年3月31日（月）をもって終了となります。代替サービスとして、**Hyperfy**の活用を提案します。

Hyperfyは、ThreejsとPhysXを活用したオープンソースのブラウザベース3Dエンジンです。専門知識がなくても、誰でも仮想空間を構築・公開できます。

[https://docs.hyperfy.xyz/](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/](http://localhost:3000/) を開き、ワールドが表示されることを確認してください。

![Start](https://storage.googleapis.com/papyrus_images/e595c8cf0db3ebc3189660d2560ba5f93fd83777b34f6450395c5072969647df.jpg)

Start

WASD or 矢印キーで移動VRMファイルを画面にドラッグ＆ドロップ。Equipボタンをクリックでアバターを変更できます。

![VRM](https://storage.googleapis.com/papyrus_images/a5702872708685b649f4ff29341ccef9b4ad12cf0ae75d0c63417ec4c1ee82a7.jpg)

VRM

3DモデルはGLBファイルを画面にドラッグ＆ドロップで配置できます。

* * *

3\. ホスティング
----------

### **3.1.1 ホスティングプロバイダー**

**Hyperworlds.host** は簡単に始められ、特化したサポートが受けられる一方で、コストが月額 5ドル〜で、カスタマイズに制限があります。

[https://hyperworld.host/](https://hyperworld.host/)

### **3.2.1 セルフホスティングプロバイダー（Fly.io）**

### Fly.ioアカウント作成

[Fly.io](https://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.dev`
        
*   A/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 list`
    
*   DNS設定確認: `fly certs check example.com`
    
*   削除: `fly certs remove example.com`
    

**Cloudflare利用時の注意**

*   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)](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/](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公式ドキュメント](https://hyperfy.how/)
    
*   [Fly.io公式ドキュメント](https://fly.io/docs/)
    
*   [Hyperfy Tools for Blender](https://extensions.blender.org/add-ons/hyperfy-tools/)
    
*   [Digital Ocean公式サイト](https://www.digitalocean.com/)
    

[https://play.dwebxr.xyz/](https://play.dwebxr.xyz/)

* * *

まとめ
---

Hyperfy V2 Worldは、HyperWorlds.hostやFly.io・Digital Oceanを活用することで、誰でも簡単に仮想空間を公開できます。定期的なアップデートやセキュリティ管理を徹底し、快適な運用を目指しましょう。

---

*Originally published on [masia](https://paragraph.com/@masia02-2/hyperfy-v2-world)*
