VRChat用の自作ワールド・アセットを管理するクラウドサーバーとしてのVPS活用
【結論から言います】VRChat管理用途のVPSは「CPUとストレージ重視・GPU不要」
正直に言うと、VRChat ワールド制作の管理用途で GPU 付き VPS を勧めている記事は信用しないほうがいい。GPU プランは月額が跳ね上がるし、Git サーバーやアセット配信にグラフィックボードは 1 ミリも関係ない。アフィリエイト報酬が高いから勧めてるだけだと思ってる。
自分がこの用途で重視するのはこの 3 点:
- ストレージが多いこと(Unity プロジェクトは普通に 50〜100GB 超える)
- CPU がそこそこ速いこと(バッチビルドの検証に時間かかると萎える)
- 月額が固定で計算しやすいこと(時間課金だとストレージ分が読めなくて面倒)
この記事ではその前提で、VPS の選び方から Gitea・Git LFS・アセット配信サーバーの構築まで書いていく。
VRChat クリエイターにとって VPS が便利な理由
VRChat のワールド・アバター制作は Unity プロジェクトを扱うため、ファイルサイズが大きくなりがちです。チームで共同制作したり、複数バージョンを管理したりするには、VPS をクラウドサーバーとして使うのが効率的です。
VPS を活用できる場面:
- Git + Git LFS でワールドデータをチーム共有
- VRChat SDK のビルドを自動化(CI/CD)
- テクスチャ・音源などのアセットを配信サーバーとして使う
- Unity バッチビルドをリモートで実行する
自分の本音を一つ。 「PC 立ち上げっぱなしで NAS 代わりにすればよくない?」という声もあるけど、それは手放し感がゼロ。何かあったらリモートデスクトップで入らないといけないし、PC が落ちたら Gitea も止まる。チームで使うなら絶対 VPS のほうがいい。
必要なVPSスペック
| 用途 | CPU | メモリ | ストレージ |
|---|---|---|---|
| Git リポジトリ管理のみ | 2コア | 4GB | 100GB |
| アセット配信サーバー | 4コア | 8GB | 200GB |
| Unity バッチビルド | 8コア | 16GB | 200GB |
はっきり書いておきます。GPU は不要です。 Unity バッチビルドは -nographics フラグで動かすので、CPU とメモリさえあれば十分。GPU オプションを追加すると月額が 2〜3 倍になるプランもあるが、この用途では完全に無駄金。
Git LFS を使うと大容量バイナリが蓄積するため、ストレージは余裕を持って確保します。テクスチャや FBX が増えてくると 100GB はあっという間に埋まる。最初から 200GB プランを選んでおくほうが後で後悔しない。
おすすめVPS比較
🥇 XServer VPS
高性能 CPU でビルド処理が速い。ストレージ容量も多くアセット管理に向いている。
| 項目 | 内容 |
|---|---|
| 8GBプラン月額 | 2,200円〜 |
| ストレージ | NVMe 高速 SSD |
| 転送量 | 無制限 |
自分の判断: 月額固定で計算しやすいのが最大のメリット。2,200円 ÷ 30日 = 1日73円。チームで割れば一人あたりもっと安くなる。Git サーバーは 24 時間 365 日動いてて当然のサービスなので、固定料金のほうが精神的にラク。
🥈 さくらのVPS
コスト重視の長期運用に向く。Gitea などの OSS を安定稼働させるのに実績がある。
| 項目 | 内容 |
|---|---|
| 4GBプラン月額 | 1,100円〜 |
| 長期割引 | あり |
| 国内データセンター | 複数拠点 |
自分の判断: 1,100円は安い。ただし 4GB メモリは Gitea + Nginx + バックアップが同居すると少し心もとない。Unity バッチビルドを走らせる予定があるなら 8GB プランにしておいたほうが後悔しない。Gitea だけなら 4GB で十分動く。
VPS 構築手順
ステップ1:Gitea でプライベート Git サーバーを立てる
GitHub の代わりに自分のサーバーで Git リポジトリを管理できます。
正直なところ、これが一番やってよかったと思ってる構成。 GitHub Free の LFS 容量制限(月 1GB 転送・2GB ストレージ)はワールド制作だとすぐ上限に当たる。自前 Gitea なら VPS のストレージが上限なので気にしなくていい。
# Docker のインストール
sudo apt update && sudo apt install -y docker.io docker-compose
sudo systemctl enable docker && sudo systemctl start docker
# Gitea の起動
mkdir -p /opt/gitea
cat > /opt/gitea/docker-compose.yml << 'EOF'
version: "3"
services:
gitea:
image: gitea/gitea:latest
ports:
- "3000:3000"
- "2222:22"
volumes:
- /opt/gitea/data:/data
restart: unless-stopped
EOF
cd /opt/gitea && docker-compose up -d
ブラウザで http://サーバーIP:3000 を開いて初期設定を行います。
ステップ2:Git LFS で Unity アセットを管理
Unity プロジェクトの大容量ファイル(.png, .fbx, .wav 等)は Git LFS で管理します。
これをやらずに普通の Git で管理しようとすると地獄を見る。 FBX ひとつ数十 MB あったりするので、LFS なしで push するとリポジトリが肥大化してクローンが死ぬほど遅くなる。最初から設定しておくのが正解。
# ローカル PC で実行
git lfs install
git lfs track "*.png" "*.fbx" "*.wav" "*.mp3" "*.unitypackage"
git add .gitattributes
git commit -m "Add LFS tracking"
.gitattributes の内容例:
*.png filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
VPS の Gitea は Git LFS をデフォルトでサポートしています。
ステップ3:アセット配信サーバー(Nginx)
テクスチャや音源をチームメンバーが URL からダウンロードできるよう、Nginx で静的ファイル配信サーバーを立てます。
これは「あれば便利」くらいの位置づけ。 小規模チームなら Gitea からダウンロードするだけでも十分。5 人以上で分業しながら制作するなら URL 共有できる配信サーバーが便利になってくる。
sudo apt install -y nginx
sudo tee /etc/nginx/sites-available/assets << 'EOF'
server {
listen 80;
server_name your-server-ip;
root /var/www/vrchat-assets;
autoindex on;
location / {
try_files $uri $uri/ =404;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/assets /etc/nginx/sites-enabled/
sudo mkdir -p /var/www/vrchat-assets
sudo chown -R www-data:www-data /var/www/vrchat-assets
sudo nginx -t && sudo systemctl restart nginx
ステップ4:CI/CD で自動ビルドパイプライン
VRChat SDK のビルドチェックを自動化する Gitea Actions(GitHub Actions 互換)の設定例です。
本音を言えば、最初はここまでやらなくていい。 Gitea が動いて LFS でアセット管理できるだけで制作環境として十分機能する。CI/CD は「push するたびに自動チェックしたい」と思い始めたタイミングで追加すればいい。最初から全部やろうとして挫折するより、段階的に育てるほうが長続きする。
# .gitea/workflows/build-check.yml
name: VRChat World Build Check
on:
push:
branches: [main]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: Check Unity project structure
run: |
echo "Checking Assets directory..."
ls -la Assets/
echo "Checking Packages..."
cat Packages/manifest.json | python3 -c "import json,sys; d=json.load(sys.stdin); print('VRChat SDK:', d.get('dependencies', {}).get('com.vrchat.worlds', 'NOT FOUND'))"
- name: Notify on success
run: echo "Build check passed!"
ステップ5:定期バックアップの設定
これだけは絶対にやっておいてほしい。 Gitea のデータが飛んだら制作履歴がまるごと消える。VPS のストレージ障害は滅多にないが、自分の操作ミスで消すことは普通にある。1 日 1 回自動バックアップしておけば最悪でも前日分まで戻せる。
#!/bin/bash
# /opt/backup-vrchat.sh
BACKUP_DIR="/var/backups/vrchat"
DATE=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/gitea-$DATE.tar.gz" /opt/gitea/data/
tar -czf "$BACKUP_DIR/assets-$DATE.tar.gz" /var/www/vrchat-assets/
# 7日以上古いバックアップを削除
find "$BACKUP_DIR" -mtime +7 -delete
# cron に登録(毎日2時にバックアップ)
0 2 * * * /opt/backup-vrchat.sh >> /var/log/backup.log 2>&1
ワールド管理のベストプラクティス
| 項目 | 推奨設定 |
|---|---|
| ブランチ戦略 | main(公開済み)/ develop(開発中)/ feature/*(個別作業) |
| コミット単位 | シーン単位・オブジェクト追加単位 |
| LFS 対象 | 1MB 超えるバイナリはすべて LFS |
| バックアップ | 毎日自動 + ワールド公開前に手動 |
自分の場合、feature ブランチを作りすぎて管理が煩雑になった経験がある。ソロ制作なら main と develop の 2 本で十分。feature ブランチは 2 人以上で同時に別パートを触るときだけ切るのがシンプルでいい。
よくある質問(FAQ)
まとめ:あなたの使い方で選ぶ
| あなたの状況 | おすすめ構成 | 月額の目安 |
|---|---|---|
| ソロでワールド管理・バージョン管理だけしたい | さくらのVPS 4GBプラン + Gitea のみ | 1,100円〜 |
| チームで共同制作・アセット配信も欲しい | XServer VPS 8GBプラン + Gitea + Nginx | 2,200円〜 |
| CI/CD 自動チェックまでやりたい | XServer VPS 8GBプラン + フルセット | 2,200円〜 |
| GPU 付き VPS を勧められた | やめとけ。この用途に GPU は不要。 | — |
誤解されたくないので書いておく。 VRChat ワールド管理に GPU は要らない。GPU 推しの記事を見かけたら、そのアフィリエイト報酬がどのプランに設定されているか想像してみてほしい。
コスト感をもう少し具体的に書くと:
- さくらのVPS 4GB: 月1,100円 = 1日36円
- XServer VPS 8GB: 月2,200円 = 1日73円
チームが 3 人なら割り勘で 1 人あたり月 700〜1,500 円。コーヒー 1〜2 杯分でプロフェッショナルな制作インフラが手に入る、と考えると安い。
VPS に Gitea + Git LFS を立てれば、VRChat の自作ワールド・アセットをチームで安全に管理できます。アセット配信サーバーや CI/CD まで組み合わせることで、プロフェッショナルな制作環境が月数千円で実現します。
悩んでいる暇があったら、手を動かしたほうが早い。合わなければ乗り換えればいいし、足りなければスペックアップすればいい。考えすぎるより動いてみたほうが絶対に早い。
