【2025年版】Pterodactyl Panel完全インストールガイド|Docker Composeでマルチゲーム管理とSSL設定を徹底解説

【2025年版】Pterodactyl Panel完全インストールガイド|Docker Composeでマルチゲーム管理とSSL設定を徹底解説






【2025年版】Pterodactyl Panel完全インストールガイド|Docker Composeでマルチゲーム管理とSSL設定を徹底解説



Pterodactyl Panel完全インストールガイド

Docker Composeでマルチゲーム管理とSSL設定を徹底解説


目次

Pterodactyl Panelとは

Pterodactyl Panelは、複数のゲームサーバーを効率的に管理できるオープンソースの管理パネルです。
Dockerコンテナベースで動作し、Minecraft、Rust、CS:GO、Ark、Terrariaなど100種類以上のゲームに対応しています。

主な特徴


  • Webベースの直感的なUI

  • Docker コンテナによる分離実行

  • ファイル管理・編集機能

  • リアルタイムサーバー監視

  • ユーザー権限管理

アーキテクチャ

Panel: 管理画面・API・データベース
Wings: ゲームサーバー実行ノード
Docker: コンテナ実行環境

システム要件

最小要件

CPU 1コア以上
メモリ 2GB以上
ストレージ 20GB以上
OS Ubuntu 20.04/22.04

推奨要件

CPU 4コア以上
メモリ 8GB以上
ストレージ 100GB以上 (SSD)
OS Ubuntu 22.04 LTS

注意事項

  • 各ゲームサーバーの動作には追加のリソースが必要です
  • 同時接続プレイヤー数に応じてメモリ使用量が増加します
  • SSDの使用を強く推奨します(データベース・ファイルI/O性能向上)

Docker Compose セットアップ

1. Docker & Docker Compose インストール

# Dockerの公式GPGキーを追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Dockerリポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# パッケージリストを更新してDockerをインストール
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

# Dockerサービスを開始・自動起動設定
sudo systemctl start docker
sudo systemctl enable docker

# 現在のユーザーをdockerグループに追加
sudo usermod -aG docker $USER
                        

2. docker-compose.yml 作成

version: '3.8'

services:
  # データベース
  database:
    image: mariadb:10.5
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "CHANGE_ME_ROOT_PASSWORD"
      MYSQL_DATABASE: "panel"
      MYSQL_USER: "pterodactyl"
      MYSQL_PASSWORD: "CHANGE_ME_DB_PASSWORD"
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - pterodactyl_network

  # Redis (キャッシュ)
  cache:
    image: redis:alpine
    restart: always
    networks:
      - pterodactyl_network

  # Pterodactyl Panel
  panel:
    image: ghcr.io/pterodactyl/panel:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - panel_data:/app/var
      - panel_logs:/app/storage/logs
      - panel_cache:/app/bootstrap/cache
      - ./ssl:/etc/ssl/certs
    environment:
      APP_URL: "https://your-domain.com"
      APP_TIMEZONE: "Asia/Tokyo"
      APP_SERVICE_AUTHOR: "noreply@your-domain.com"
      
      # データベース設定
      DB_PASSWORD: "CHANGE_ME_DB_PASSWORD"
      DB_HOST: database
      DB_PORT: 3306
      
      # Redis設定
      CACHE_DRIVER: redis
      SESSION_DRIVER: redis
      QUEUE_DRIVER: redis
      REDIS_HOST: cache
      REDIS_PASSWORD: null
      REDIS_PORT: 6379
      
      # メール設定 (optional)
      MAIL_DRIVER: smtp
      MAIL_HOST: "your-smtp-server.com"
      MAIL_PORT: 587
      MAIL_USERNAME: "your-email@domain.com"
      MAIL_PASSWORD: "your-email-password"
      MAIL_ENCRYPTION: tls
      MAIL_FROM: "noreply@your-domain.com"
      
    depends_on:
      - database
      - cache
    networks:
      - pterodactyl_network

volumes:
  db_data:
  panel_data:
  panel_logs:
  panel_cache:

networks:
  pterodactyl_network:
    driver: bridge
                        

セキュリティ設定

以下の値を必ず変更してください:

  • CHANGE_ME_ROOT_PASSWORD: MariaDBのrootパスワード
  • CHANGE_ME_DB_PASSWORD: データベースユーザーのパスワード
  • your-domain.com: 実際のドメイン名
  • メール設定(任意)

Panel インストール

1. コンテナの起動

# Pterodactyl用ディレクトリを作成
mkdir -p /opt/pterodactyl
cd /opt/pterodactyl

# docker-compose.ymlを作成(上記の内容を保存)
# 設定を編集後、コンテナを起動
docker compose up -d

# ログの確認
docker compose logs -f panel
                        

2. 管理者アカウント作成

# Panelコンテナに入る
docker compose exec panel bash

# 管理者ユーザーを作成
php artisan p:user:make

# 以下の情報を入力
# - Email: admin@your-domain.com
# - Username: admin
# - First Name: Admin
# - Last Name: User
# - Password: 強力なパスワード
# - Admin: yes

# Panelコンテナから出る
exit
                        

3. Web UI アクセス

Panel URL:
http://your-server-ip

ブラウザでアクセスし、作成した管理者アカウントでログインします。
SSL証明書設定前はHTTPでアクセスしてください。

Wings ノード構築

Wingsは実際のゲームサーバーを実行するノードです。
PanelとWingsは同じサーバーでも別サーバーでも動作可能です。

1. Panel でノード作成

  1. Panel管理画面にログイン
  2. 「Admin」→「Nodes」→「Create New」
  3. ノード情報を入力:
    • Name: main-node
    • Location: Tokyo
    • FQDN: your-domain.com
    • Memory: 利用可能メモリ(MB)
    • Disk: 利用可能ディスク容量(MB)
  4. 「Create Node」をクリック
  5. 「Configuration」タブで設定をコピー

2. Wings インストール

# Wingsバイナリをダウンロード
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"

# 実行権限を付与
chmod u+x /usr/local/bin/wings

# 設定ディレクトリを作成
mkdir -p /etc/pterodactyl

# Panel からコピーした設定を保存
nano /etc/pterodactyl/config.yml

# 設定例(Panel から取得した内容をペースト)
debug: false
uuid: your-node-uuid
token_id: your-token-id
token: your-token
api:
  host: 0.0.0.0
  port: 8080
  ssl:
    enabled: true
    cert: /etc/ssl/certs/pterodactyl.crt
    key: /etc/ssl/private/pterodactyl.key
system:
  data: /var/lib/pterodactyl/volumes
  sftp:
    bind_port: 2022
remote: 'https://your-domain.com'
                        

3. systemd サービス設定

# systemdサービスファイルを作成
cat > /etc/systemd/system/wings.service << EOF
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

# サービスを有効化・開始
systemctl enable wings
systemctl start wings

# 状態確認
systemctl status wings
                        

SSL証明書設定

Let's Encryptを使用して無料SSL証明書を取得し、
Pterodactyl PanelでHTTPS通信を有効にします。

1. Certbot インストール

# Snapdをインストール(Ubuntu 22.04では標準インストール済み)
sudo apt update
sudo apt install snapd

# Certbotをインストール
sudo snap install --classic certbot

# Certbotコマンドにパスを通す
sudo ln -s /snap/bin/certbot /usr/bin/certbot
                        

2. SSL証明書取得

# 一時的にPanelコンテナを停止
cd /opt/pterodactyl
docker compose stop panel

# SSL証明書を取得
sudo certbot certonly --standalone -d your-domain.com

# 証明書をDockerボリュームにコピー
sudo mkdir -p /opt/pterodactyl/ssl
sudo cp /etc/letsencrypt/live/your-domain.com/fullchain.pem /opt/pterodactyl/ssl/
sudo cp /etc/letsencrypt/live/your-domain.com/privkey.pem /opt/pterodactyl/ssl/

# ファイル権限を設定
sudo chown -R 1000:1000 /opt/pterodactyl/ssl
sudo chmod 600 /opt/pterodactyl/ssl/*
                        

3. Nginx設定(Panel用)

# nginx設定ファイルを作成
cat > /opt/pterodactyl/nginx.conf << EOF
server {
    listen 80;
    server_name your-domain.com;
    return 301 https://\$server_name\$request_uri;
}

server {
    listen 443 ssl http2;
    server_name your-domain.com;

    ssl_certificate /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/certs/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;

    location / {
        proxy_pass http://panel:80;
        proxy_set_header Host \$host;
        proxy_set_header X-Real-IP \$remote_addr;
        proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto \$scheme;
    }
}
EOF

# docker-compose.ymlを更新してNginxを追加
cat >> docker-compose.yml << EOF

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
      - ./ssl:/etc/ssl/certs
    depends_on:
      - panel
    networks:
      - pterodactyl_network
EOF

# コンテナを再起動
docker compose up -d
                        

4. 証明書自動更新

# 証明書更新スクリプトを作成
cat > /opt/pterodactyl/renew-ssl.sh << 'EOF'
#!/bin/bash
cd /opt/pterodactyl

# 証明書を更新
certbot renew --quiet

# 証明書をコピー
cp /etc/letsencrypt/live/your-domain.com/fullchain.pem /opt/pterodactyl/ssl/
cp /etc/letsencrypt/live/your-domain.com/privkey.pem /opt/pterodactyl/ssl/

# ファイル権限を設定
chown -R 1000:1000 /opt/pterodactyl/ssl
chmod 600 /opt/pterodactyl/ssl/*

# Nginxを再起動
docker compose restart nginx
EOF

# 実行権限を付与
chmod +x /opt/pterodactyl/renew-ssl.sh

# crontabに自動更新を追加
(crontab -l 2>/dev/null; echo "0 3 * * * /opt/pterodactyl/renew-ssl.sh") | crontab -
                        

マルチゲーム管理

Pterodactyl Panelは100種類以上のゲームに対応しており、
複数のゲームサーバーを効率的に管理できます。

対応ゲーム一覧

人気ゲーム

  • Minecraft (Java/Bedrock)
  • Rust
  • CS:GO / CS2
  • Ark: Survival Evolved
  • Terraria
  • Garry's Mod

サバイバルゲーム

  • 7 Days to Die
  • Valheim
  • The Forest
  • Green Hell
  • Subnautica
  • Raft

その他

  • Discord Bot
  • TeamSpeak
  • Mumble
  • Node.js
  • Python
  • カスタム環境

サーバー作成手順

  1. Eggの選択

    • 「Admin」→「Nests」→「Eggs」
    • 公式EggまたはGitHubからインポート
  2. サーバー作成

    • 「Admin」→「Servers」→「Create New」
    • 基本情報・リソース・Eggを設定
  3. 設定の調整

    • 環境変数の設定
    • ポート割り当て
    • 起動設定

リソース管理のベストプラクティス

メモリ割り当て

Minecraft 2-8GB
Rust 4-16GB
CS:GO 1-2GB
Terraria 512MB-2GB

パフォーマンス監視

  • CPU使用率の監視
  • メモリ使用量の確認
  • ディスクI/Oの監視
  • ネットワーク使用量
  • プレイヤー数の把握

トラブルシューティング

よくある問題と解決策

Panel にアクセスできない

原因: ファイアウォール設定、ポート開放、DNS設定

# ファイアウォール確認・設定
sudo ufw status
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# コンテナ状態確認
docker compose ps
docker compose logs panel
                                

データベース接続エラー

原因: データベース設定、パスワード不一致

# データベースコンテナの状態確認
docker compose logs database

# データベースに直接接続してテスト
docker compose exec database mysql -u pterodactyl -p panel
                                

Wings接続エラー

原因: ファイアウォール、SSL証明書、設定ミス

# Wings状態確認
systemctl status wings
journalctl -u wings -f

# ポート開放確認
sudo ufw allow 8080/tcp
sudo ufw allow 2022/tcp
                                

ディスク容量不足

対策: ログファイル削除、不要コンテナ削除

# ディスク使用量確認
df -h
du -sh /var/lib/docker/

# 不要なDockerリソースを削除
docker system prune -a
docker volume prune
                                

サポートリソース

公式ドキュメント

コミュニティ

  • Discord Server
  • GitHub Issues
  • Reddit Community

追加リソース

  • Video Tutorials
  • Community Eggs
  • Docker Hub

Pterodactyl Panel運用におすすめサーバー比較

Pterodactyl Panelの運用には、安定性とパフォーマンスが重要です。
以下は実際の運用経験に基づいたおすすめサーバーサービスです。

ConoHa VPS

2GBプラン
1,848円/月
  • 高速SSD・豊富なテンプレート
  • 初心者にも優しい管理画面
  • 時間課金対応
  • 東京・大阪データセンター


ConoHa VPS 詳細を見る

KAGOYA CLOUD VPS

2GBプラン
1,540円/月
  • 高い安定性とSLA保証
  • 専用管理ツール豊富
  • 法人向けサポート充実
  • 国内データセンター


KAGOYA CLOUD VPS 詳細を見る

ABLENET VPS

2GBプラン
1,188円/月
  • コストパフォーマンス優秀
  • 10日間無料お試し
  • 老舗プロバイダーの安心感
  • 柔軟なプラン選択


ABLENET VPS 詳細を見る

mixhost VPS

2GBプラン
1,078円/月
  • 高速SSDとLiteSpeed
  • 自動バックアップ標準
  • 30日間返金保証
  • 充実したサポート


mixhost VPS 詳細を見る

選び方のポイント

初心者向け

ConoHa VPSは管理画面が使いやすく、豊富なテンプレートでPterodactylの導入が簡単です。

コスト重視

mixhost VPSは高機能でありながら低価格。長期運用でコストを抑えたい場合におすすめです。

企業・法人向け

KAGOYA CLOUD VPSはSLA保証と専門サポートで、ビジネス用途に最適です。

まとめ

Pterodactyl Panelは、Docker Composeを使用することで簡単に導入でき、
複数のゲームサーバーを効率的に管理できる優れたツールです。

メリット

  • 直感的なWeb管理画面
  • 100種類以上のゲーム対応
  • Docker による安定性
  • 豊富なカスタマイズ機能

運用のコツ

  • 定期的なバックアップ
  • リソース監視の実施
  • SSL証明書の自動更新
  • セキュリティ設定の見直し

※本記事は2025年7月時点の情報に基づいて執筆されています。
最新の設定方法や価格情報は、各公式サイトをご確認ください。



目次