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月時点の情報に基づいて執筆されています。
最新の設定方法や価格情報は、各公式サイトをご確認ください。

