Additional Configuration
Configure backups, reverse proxies, reCAPTCHA, two-factor authentication, and telemetry.
Backups
The backup driver in the Panel's .env file sets where server backups are stored.
After you change drivers, users can still download and delete backups made with the previous one. If you move from S3 to local backups, keep your S3 settings in .env so older backups stay available.
Local Backups
By default, Wings stores backups on each node. To set this explicitly, add to .env:
APP_BACKUP_DRIVER=wingsWings stores them in the backup_directory set in its config.yml:
system:
backup_directory: /path/to/backup/storageS3 Backups
To store backups in Amazon S3 or S3-compatible storage, add to .env:
APP_BACKUP_DRIVER=s3
AWS_DEFAULT_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_BACKUPS_BUCKET=
AWS_ENDPOINT=For services that need path-style addresses, such as domain.com/bucket instead of bucket.domain.com, also add:
AWS_USE_PATH_STYLE_ENDPOINT=trueMultipart Uploads
Backups upload to S3 in parts of up to 5 GB, and each upload link is valid for 60 minutes. To change these, set BACKUP_MAX_PART_SIZE in bytes and BACKUP_PRESIGNED_URL_LIFESPAN in minutes. For 1 GB parts and 120-minute links:
BACKUP_MAX_PART_SIZE=1073741824
BACKUP_PRESIGNED_URL_LIFESPAN=120Storage Class
To use a different S3 storage class, set AWS_BACKUPS_STORAGE_CLASS. The default is STANDARD:
AWS_BACKUPS_STORAGE_CLASS=STANDARD_IAReverse Proxies
Behind a reverse proxy, such as Cloudflare, NGINX, Apache, or Caddy, the Panel must trust the proxy. Otherwise it thinks it is served over HTTP instead of HTTPS, and you may be unable to sign in.
Set TRUSTED_PROXIES in .env to your proxies' IP addresses, separated by commas. For a proxy on the same machine:
TRUSTED_PROXIES=127.0.0.1TRUSTED_PROXIES=* trusts every proxy, but we recommend listing the addresses.
NGINX
When NGINX is the proxy, its location block must pass these headers to the Panel:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;Cloudflare
With Cloudflare's proxy, set TRUSTED_PROXIES to Cloudflare's IP ranges:
TRUSTED_PROXIES=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22reCAPTCHA
Invisible reCAPTCHA protects the login page from brute-force attacks. Suspicious login attempts may get a reCAPTCHA challenge.
Using Your Own Keys
The Panel ships with shared reCAPTCHA keys. Create your own in the reCAPTCHA admin console, then enter them under Admin → Settings → Advanced, in reCAPTCHA Website Key and reCAPTCHA Secret Key.
Turning Off reCAPTCHA
We do not recommend turning off reCAPTCHA. It makes brute-force attacks on user accounts harder.
If users have trouble signing in, or your Panel is not reachable from the internet, turn off reCAPTCHA Enabled under Admin → Settings → Advanced.
If you cannot sign in, change it in the database. Open the database console:
mariadb -u rootThen run:
INSERT INTO panel.settings (`key`, value) VALUES ('settings::recaptcha:enabled', 'false')
ON DUPLICATE KEY UPDATE value = 'false';Two-Factor Authentication
To require two-factor authentication for every user, set Require 2-Factor Authentication under Admin → Settings → General.
Removing the Requirement Without the Panel
If you cannot sign in to change it, open the database console with mariadb -u root and run:
INSERT INTO panel.settings (`key`, value) VALUES ('settings::pterodactyl:auth:2fa_required', 0)
ON DUPLICATE KEY UPDATE value = 0;Turning Off Two-Factor Authentication for a User
If a user loses their authenticator, run this from /var/www/pterodactyl and enter their email address when asked:
php artisan p:user:disable2faTelemetry
Once a day, the Panel sends anonymous statistics about itself and its nodes to the Pterodactyl team. Telemetry is on by default.
The data is not sold or used for advertising. We may publish combined statistics, or share them with others, to help improve Pterodactyl.
What Is Collected
To see exactly what your Panel sends, run:
php artisan p:telemetryIt includes:
- Panel:
- A random ID for your Panel installation.
- The Panel version and PHP version.
- The backup, cache, and database drivers, and the database version.
- Totals:
- Allocations and used allocations.
- Backups and their total size.
- Eggs, locations, and mounts.
- Nodes and servers, including suspended servers.
- Users, including administrators.
- For each node:
- Its ID and Wings version.
- Docker's version, cgroup driver and version, storage driver, and container counts.
- The system's architecture, CPU threads, memory, kernel version, and operating system.
The collection code is in app/Services/Telemetry/TelemetryCollectionService.php.
Turning Telemetry Off or On
To turn telemetry off, set this in .env:
PTERODACTYL_TELEMETRY_ENABLED=falseTo turn it back on, set it to true or remove the line. You can also choose during php artisan p:environment:setup, or pass it --telemetry=false.
Last updated on