Instalace Pterodactylu na VPS s pomocí ColdHost AI
Jak nainstalovat Pterodactyl Panel a Wings na VPS s asistencí ColdHost AI: požadavky, instalace krok za krokem, nastavení nginx, fronty, cronu a ověření.
Pterodactyl je populární open-source panel pro správu herních serverů (Minecraft, Rust, CS2 a další). Skládá se ze dvou částí: Panelu (webové rozhraní v PHP) a Wings (démon, který spouští herní servery v Docker kontejnerech). Instalace má hodně kroků a snadno se v ní udělá chyba. S VPS připojeným k ColdHost AI ji zvládnete pod dohledem AI, která navrhuje příkazy, kontroluje výstupy a pomáhá řešit chyby.
Postup níže vychází z oficiální dokumentace Pterodactylu pro Ubuntu 22.04/24.04. Před instalací si vždy ověřte aktuální požadavky na pterodactyl.io – podporované verze PHP se mění.
Příprava
- VPS s Ubuntu 22.04 nebo 24.04, alespoň 2 GB RAM (herní servery potřebují víc).
- Doména nebo subdoména (např.
panel.mojedomena.cz) s A záznamem na IP serveru. - Připojení serveru v ColdHost AI přes SSH a uživatel se
sudo. - Zvolený režim Server a DevOps, na řešení chyb případně model Polaris.
Zadání pro AI může vypadat takto:
Chci nainstalovat Pterodactyl Panel a Wings na tento server (Ubuntu 24.04)
podle oficiální dokumentace. Doména panelu: panel.mojedomena.cz.
Postupuj krok po kroku, před každou změnou konfigurace mi vysvětli, co dělá.
Každý navržený příkaz si přečtete a schválíte. AI vidí výstup a pozná, když něco selže.
1. Závislosti
sudo apt update
sudo apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} \
mariadb-server nginx tar unzip git redis-server
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
2. Stažení Panelu
sudo mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
sudo tar -xzvf panel.tar.gz
sudo chmod -R 755 storage/* bootstrap/cache/
3. Databáze
sudo mariadb -u root
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'SilneHeslo';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
EXIT;
Heslo si vygenerujte (openssl rand -base64 24) a do chatu ho nepište – vložte ho přímo do interaktivního dotazu při konfiguraci.
4. Konfigurace Panelu
cd /var/www/pterodactyl
sudo cp .env.example .env
sudo COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
sudo php artisan key:generate --force
Klíč APP_KEY v .env si zálohujte – bez něj nedešifrujete uložená data.
Následující příkazy jsou interaktivní a ptají se na URL panelu, databázi, Redis a e-mail. Spusťte je ve vlastním SSH terminálu (nebo přes VS Code Remote-SSH), AI vám poradí, co vyplnit:
sudo php artisan p:environment:setup
sudo php artisan p:environment:database
sudo php artisan p:environment:mail
sudo php artisan migrate --seed --force
sudo php artisan p:user:make
sudo chown -R www-data:www-data /var/www/pterodactyl/*
5. Cron a fronta
Cron pro plánovač (sudo crontab -e):
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Služba fronty /etc/systemd/system/pteroq.service:
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now redis-server
sudo systemctl enable --now pteroq.service
6. Nginx a SSL
Nejdřív certifikát:
sudo apt -y install certbot python3-certbot-nginx
sudo certbot certonly --nginx -d panel.mojedomena.cz
Konfiguraci nginx pro Panel převezměte z oficiální dokumentace (sekce Webserver Configuration – Nginx with SSL) a nahraďte doménu a verzi PHP-FPM socketu (php8.3-fpm.sock). Pak:
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
7. Wings
curl -sSL https://get.docker.com/ | sudo CHANNEL=stable bash
sudo systemctl enable --now docker
sudo mkdir -p /etc/pterodactyl
sudo 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")"
sudo chmod u+x /usr/local/bin/wings
V Panelu vytvořte Location a Node, v záložce Configuration nodu zkopírujte konfiguraci do /etc/pterodactyl/config.yml. První spuštění v ladicím režimu:
sudo wings --debug
Když běží bez chyb, ukončete ho (Ctrl+C) a vytvořte službu wings.service podle dokumentace, pak sudo systemctl enable --now wings.
8. Firewall
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8080/tcp # Wings API
sudo ufw allow 2022/tcp # SFTP Wings
sudo ufw enable
Porty herních serverů (např. 25565 pro Minecraft) povolte podle alokací, které v Panelu přidělíte.
Ověření
systemctl status pteroq wings nginx --no-pager
sudo tail -n 50 /var/www/pterodactyl/storage/logs/laravel-$(date +%F).log
V Panelu by měl mít node zelené srdíčko. Pokud ne, pošlete AI výstup wings --debug – nejčastější příčiny jsou blokovaný port 8080, chybný certifikát nebo špatná FQDN nodu.