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 22.04/24.04 |
推奨要件
| CPU | 4コア以上 |
| メモリ | 8GB以上 |
| ストレージ | 100GB以上 (SSD) |
| OS | Ubuntu 24.04 LTS(または 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(外部公開はNginxが担当)
panel:
image: ghcr.io/pterodactyl/panel:latest
restart: always
volumes:
- panel_data:/app/var
- panel_logs:/app/storage/logs
- panel_cache:/app/bootstrap/cache
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
# Nginx(HTTP/HTTPSの入口)
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
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
# ログの確認(Panel側)
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-domain.com
ブラウザでアクセスし、作成した管理者アカウントでログインします。
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/24.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証明書取得
# 一時的にNginxコンテナを停止(standaloneで80番を使うため)
cd /opt/pterodactyl
docker compose stop nginx
# 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/*
# Nginxを再起動
docker compose up -d
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
# Nginxを反映
cd /opt/pterodactyl
docker compose restart nginx
4. 証明書自動更新
# 証明書更新スクリプトを作成
cat > /opt/pterodactyl/renew-ssl.sh << 'EOF'
#!/bin/bash
cd /opt/pterodactyl
# Nginxを停止(更新時の競合回避)
docker compose stop nginx
# 証明書を更新
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 up -d 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 nginx
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
サポートリソース
公式ドキュメント
- Installation Guide
- Troubleshooting
コミュニティ
- 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の導入が簡単です。
コスト重視
割引やキャンペーン適用でコストを抑えられる場合があります。最新の料金と条件は公式ページで確認しましょう。
企業・法人向け
KAGOYA CLOUD VPSはSLA保証と専門サポートで、ビジネス用途に最適です。
まとめ
Pterodactyl Panelは、Docker Composeを使用することで簡単に導入でき、
複数のゲームサーバーを効率的に管理できる優れたツールです。
メリット
- 直感的なWeb管理画面
- 100種類以上のゲーム対応
- Docker による安定性
- 豊富なカスタマイズ機能
運用のコツ
- 定期的なバックアップ
- リソース監視の実施
- SSL証明書の自動更新
- セキュリティ設定の見直し
※本記事は2026年1月時点の情報に基づいて執筆されています。
最新の設定方法や価格情報は、各公式サイトをご確認ください。

