Pterodactyl Panel完全インストールガイド
Docker Composeでマルチゲーム管理とSSL設定を徹底解説
Pterodactyl Panelとは
Pterodactyl Panelは、複数のゲームサーバーを効率的に管理できるオープンソースの管理パネルです。
Dockerコンテナベースで動作し、Minecraft、Rust、CS:GO、Ark、Terrariaなど100種類以上のゲームに対応しています。
主な特徴
-
Webベースの直感的なUI -
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 でノード作成
- Panel管理画面にログイン
- 「Admin」→「Nodes」→「Create New」
- ノード情報を入力:
- Name: main-node
- Location: Tokyo
- FQDN: your-domain.com
- Memory: 利用可能メモリ(MB)
- Disk: 利用可能ディスク容量(MB)
- 「Create Node」をクリック
- 「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
- カスタム環境
サーバー作成手順
-
Eggの選択
- 「Admin」→「Nests」→「Eggs」
- 公式EggまたはGitHubからインポート
-
サーバー作成
- 「Admin」→「Servers」→「Create New」
- 基本情報・リソース・Eggを設定
-
設定の調整
- 環境変数の設定
- ポート割り当て
- 起動設定
リソース管理のベストプラクティス
メモリ割り当て
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
KAGOYA CLOUD VPS
ABLENET VPS
mixhost VPS
選び方のポイント
初心者向け
ConoHa VPSは管理画面が使いやすく、豊富なテンプレートでPterodactylの導入が簡単です。
コスト重視
mixhost VPSは高機能でありながら低価格。長期運用でコストを抑えたい場合におすすめです。
企業・法人向け
KAGOYA CLOUD VPSはSLA保証と専門サポートで、ビジネス用途に最適です。
まとめ
Pterodactyl Panelは、Docker Composeを使用することで簡単に導入でき、
複数のゲームサーバーを効率的に管理できる優れたツールです。
メリット
- 直感的なWeb管理画面
- 100種類以上のゲーム対応
- Docker による安定性
- 豊富なカスタマイズ機能
運用のコツ
- 定期的なバックアップ
- リソース監視の実施
- SSL証明書の自動更新
- セキュリティ設定の見直し
※本記事は2025年7月時点の情報に基づいて執筆されています。
最新の設定方法や価格情報は、各公式サイトをご確認ください。