Repository navigation
Operator Recipes
These are safe starting points for common Rockdactyl deployments. Apply values
in Admin → Settings, save once, then verify in a private browser window and
at a phone-sized viewport. Database-backed settings override matching .env
fallbacks.
Host versioned assets locally so the panel does not depend on a third-party image service:
- Put a transparent logo and compressed dashboard image in
public/branding/. - Configure Panel Name, Footer Owner, Footer URL, Header Mark, and the copyright start year.
- Set Logo to
/branding/logo.svgand Dashboard Image to/branding/dashboard.webp. - Keep the dashboard title short enough for one or two lines on a phone.
APP_NAME="Example Hosting"
BRAND_OWNER="Example Hosting"
BRAND_URL="https://example.com"
BRAND_MARK="EH"
BRAND_LOGO="/branding/logo.svg"
BRAND_START_YEAR=2026
BRAND_DASHBOARD_TITLE="Servers, under control."
BRAND_DASHBOARD_SUBTITLE="Welcome back, {username}."
BRAND_DASHBOARD_IMAGE="/branding/dashboard.webp"Purge the CDN path and hard-refresh after replacing an asset without changing its filename.
Rockdactyl ships two complete presets. Crimson Red is the default warm theme; Midnight Blue is the cooler operations theme.
| Setting | Conservative production value |
|---|---|
| Glass |
14–18 px |
| Radius |
10–14 px |
| Motion | Reduced for shared terminals; enabled for personal dashboards |
Check login, dashboard, console, file menus, dialogs, admin forms,
notifications, and /status after switching. The selected preset is panel-wide.
To publish availability without exposing infrastructure names:
- Enable Status Page.
- Set Node Filter Mode to Summary Totals Only.
- Disable Show Node Cards.
For a private deployment, set Status Page to Hidden. Both /status and
its public API then return a not-found response.
Keep messages short and actionable:
| Situation | Severity | Example |
|---|---|---|
| Planned work | Notice | Maintenance begins at 02:00 UTC. |
| Degraded service | Warning | Database provisioning is delayed. |
| Active outage | Critical | Console access is temporarily unavailable. |
Use a root-relative action such as /status or an HTTPS incident page. Disable
the banner after resolution.
Prefer a dark, low-detail WebP image or short muted WebM loop hosted locally.
| Setting | Suggested value |
|---|---|
| Background Media | /branding/console.webp |
| Media Visibility |
14% |
| Font Size |
12 px |
| Scanlines | Off |
Verify normal and ANSI-colored output over bright and dark areas. For remote media, use HTTPS and confirm the URL is public, returns the right content type, and is not blocked by hotlink protection.
- Prefer WebP or AVIF over large GIFs.
- Keep dashboard and login video loops short, muted, and compressed.
- Set Motion to Reduced and Glass to
14px or less. - Test at
360,390,768,1440, and1920pixel widths.
Reduced mode also follows prefers-reduced-motion; core actions, focus rings,
menus, and loading states remain functional without decorative animation.
Resource history and threshold notifications require Laravel's scheduler:
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1cd /var/www/pterodactyl
php artisan schedule:list
php artisan rock:telemetryNotification read and clear state is stored per account. Read one notification, reload, and confirm it does not return as unread.
Keep the origin private, terminate TLS at the edge, and trust only proxies you operate:
APP_URL=https://panel.example.com
TRUSTED_PROXIES=10.0.0.10,10.0.0.11Do not set TRUSTED_PROXIES=* on a public origin. Preserve WebSocket upgrade
headers and verify login, uploads, downloads, and a live console through the
public hostname.
cd /var/www/pterodactyl
php artisan optimize:clear
php artisan queue:restart
php artisan schedule:listVerify login, dashboard, notifications, a server console, file actions, admin
settings persistence, and /status where enabled. Retain the previous settings
and local branding files for visual rollback.
Rockdactyl documentation · Repository · Releases · Security and Support