FeatherPanel vs Pterodactyl
How FeatherPanel and Pterodactyl differ in architecture, features, plugins, install and licensing, what carries over, and when Pterodactyl is still the better fit.
On this page
Both panels manage game servers in Docker containers through a daemon on each node, and both are free to self-host. The differences are in scope, stack and extensibility. This page sticks to what is in the FeatherPanel code and what is well documented about Pterodactyl.
At a glance
| FeatherPanel | Pterodactyl | |
|---|---|---|
| Panel stack | PHP backend under FrankenPHP, Next.js frontend, Rust async runner | Laravel (PHP) with a React frontend |
| Node daemon | FeatherWings (Go, derived from Pterodactyl Wings) | Wings (Go) |
| Server templates | Spells in realms; Pterodactyl eggs import directly | Eggs in nests |
| Install | Installer script with Docker Compose images | Manual install of PHP, a web server, a queue worker and cron, or community Docker images |
| Other workloads | Proxmox VE virtual machines and LXC, web hosting on FeatherQuilld | Game servers only |
| Plugins and themes | Built-in plugin system with a marketplace | No official plugin system; third-party tools such as Blueprint patch the panel |
| Sign-in | Local accounts, TOTP, passkeys, e-mail codes, Discord, OIDC and LDAP providers, OAuth2 apps | Local accounts and TOTP |
| Support desk | Tickets and a knowledge base | Not included |
| AI tooling | MCP server for AI assistants | Not included |
| License | AGPL-3.0 panel, MIT FeatherWings | MIT |
For performance, see the benchmarks page rather than numbers copied into the docs.
What carries over
The migration tool imports settings, locations, nests and eggs, nodes, database hosts, allocations, users with their password hashes, SSH keys, servers with their UUIDs and variables, server databases, backups, subusers, schedules and tasks. Server files stay where they are on the nodes. You replace Wings with FeatherWings on each node afterwards.
Things that work differently
- Names: nests are realms, eggs are spells.
- Deployment: one Compose stack instead of PHP-FPM, nginx, a
pteroqqueue worker and a cron entry. Cron runs inside the backend container. See Cron and workers. - Configuration: settings live in the database and the admin area, not in
.envandphp artisan p:environment:*commands. See Panel settings. - Node setup:
featherwings configureconnects a node through a browser sign-in or join data instead of copyingconfig.ymlby hand. - License: the AGPL-3.0 requires you to publish your changes to the panel if you run a modified version for other people.
When Pterodactyl may suit you better
- You depend on Pterodactyl-specific addons, Blueprint extensions or themes that have no FeatherPanel equivalent yet.
- You need tooling or integrations built on the Pterodactyl application API and cannot change them.
- The AGPL-3.0 does not work for how you distribute a modified panel.
Next steps
Frequently asked questions
The panel is not. Its backend, frontend and database schema are its own. FeatherWings, the node daemon, is derived from Pterodactyl Wings and keeps its MIT license and copyright notice.
Yes. Eggs become spells and nests become realms. You can import single eggs in the admin area or bring all of them over with the migration tool.
We publish our own measurements on the benchmarks page of the website instead of repeating numbers here. Run your own tests on your hardware before you decide.