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
https://github.com/pterodactyl/panel/blob/develop/docker-compose.example.yml - 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.
Conclusion
Provisioning services has become much easier, provided they have appropriate container support!