Native to Docker Migration
Guide for migrating from native Pterodactyl installation to Pyrodactyl with Docker
Migrating from Pterodactyl (Native → Docker)
Prerequisites
- Linux system with root access
- Docker Engine and Docker Compose installed
- Docker expertise and basic system administration skills
- Consider Portainer for easier Docker management
- Avoid using Snap-based Docker installations on Ubuntu
- Enable Docker auto-start on boot
Pyrodactyl Installation
-
Create a new folder (e.g.
pyrodactyl-panel
) on your server in a safe location, and switch to it. -
Download and configure the docker-compose.example.yml
-
Modify placeholder variables under
x-common
-
If you are using built-in HTTPS, add port 443 (to the
ports
section under thepanel
container) and set theLE_EMAIL
variable (in thepanel
section underx-common
) to a registered Let's Encrypt email address. -
Copy the following environment variables from your Pterodactyl
.env
to yourdocker-compose.yml
:APP_KEY APP_URL DB_CONNECTION DB_HOST DB_PORT DB_DATABASE DB_USERNAME DB_PASSWORD HASHIDS_SALT HASHIDS_LENGTH # (if it's not 8)
The following are only applicable if email is set up:
MAIL_MAILER MAIL_HOST MAIL_PORT MAIL_USERNAME MAIL_PASSWORD MAIL_ENCRYPTION MAIL_FROM_ADDRESS MAIL_FROM_NAME APP_SERVICE_AUTHOR MAIL_DRIVER
-
If your database is running on the same machine as your panel, set it to listen on the IP
172.17.0.1
, and change theDB_HOST
environment variable to172.17.0.1
. -
Rename
docker-compose.example.yml
todocker-compose.yml
-
Run the following command to start the panel:
docker compose up -d
Your panel is now running! You can access it at the same URL as before, and use the same user accounts.