Pterodactyl is an open-source game server management panel built with PHP7, Nodejs, and Go. Wasabi has been validated for use as backup storage to store the backups for the servers.
Follow the steps outlined below to use configure Wasabi as backup storage.
1. Configure the proper environment variables
Edit your .env file which is typically located at "/var/www/pterodactyl", however this may be different depending on your install type.
Note: This config example discusses the use of Wasabi's us-east-1 storage region. To use other Wasabi storage regions, please use the appropriate Wasabi service URL as described in this article
# Set your panel to use s3 for backups APP_BACKUP_DRIVER=s3 # Info to actually use s3 AWS_DEFAULT_REGION=us-east-1 AWS_ACCESS_KEY_ID=SDF23452NFSGBWB7FBSDFG8D AWS_SECRET_ACCESS_KEY=************************ AWS_BACKUPS_BUCKET=my-pterodactyl-backups AWS_ENDPOINT=https://s3.us-east-1.wasabisys.com
Note: If your backups are attempting to take longer than 1hr and you are getting errors. You may need to add the following config entry to your .env file, then adjust the time accordingly. Pterodactyl uses a default of 60 minutes for the expiration of pre-signed urls. Try upping the value to something larger which can accommodate the time it takes you to upload your backups.
2. Restart the Pterodactyl Queue Worker
After making the changes to your .env file, you must restart your queue worker. If you installed the systemd service file according to the Pterodactyl installation guide, you want to run the following command.
sudo systemctl restart pteroq.service
3. Enable backup limits for a server
- Login to your Pterodactyl Panel Admin
- Click "Servers" on the left hand side
- Select the Server which you wish to enable backups on
- Under the Application Feature Limits, edit the "Backup Limit" filed to the amount of backups you wish to allow
- Click "Update Build Configuration"
4. Exit the Admin Panel, and Load the Standard Panel
5. Select your Server you wish to backup
6. Click Backups, then "Create Backup"
7. Give your backup a name, and select any ignored files, hit "Start Backup"
In this example, we are not ignoring any files.
8. Your backup will run in the background until it is complete
9. Verify the backup is running without any issues
You can login to your node, and run a tail on the log files to verify the backup is being created
# tail -f /var/log/pterodactyl/wings.log
10. Validate backup has been copied to Wasabi Hot Cloud Storage
Login to the Wasabi Console and validate your backup has been copied over to the bucket which has been configured.