Back in the day, Plesk was the go-to platform for many developers and administrators who wanted to manage their web services in an intuitive manner.
Today with the advent of container technology, I have completely transitioned from Plesk to a container-centric setup. In sync with this evolution, Pterodactyl now offers a docker-compose file (here), rendering my previous tutorial outdated.
Installing Pterodactyl has become straightforward:
- Grab the compose or initiate a Stack in Portainer
- Tweak the compose to your preference
- Simply generate and insert a random passwords for MySQL
- Adapt the URL, your E-Mail and E-Mail Settings
- Position a reverse proxy, like traefik, upfront.
As for the reverse-proxy, I employ traefik. Its strength lies in auto-routing to containers. Set up as a compose stack inside Portainer with network mode host, it functions perfectly with Pterodactyl.
Utilizing wildcard certificates, I was able to effortlessly append the label, activating the game panel:
panel: image: ghcr.io/pterodactyl/panel:latest restart: always labels: - traefik.enable=true - traefik.http.routers.ptero.rule=Host(`gamepanel.example.com`) ...
One cannot overlook another significant merit: the simplicity of updates. A mere repull of the image, followed by a container recreation (or executing
docker compose up -d), facilitates automatic database updates and other internal tasks.
Provisioning services has become much easier, provided they have appropriate container support!