Deploy Pterodactyl Panel
Game server management without compromise, ready to deploy in 1 click.
MariaDB
Just deployed
/var/lib/mysql
Pterodactyl
Just deployed
/app/var
Redis
Just deployed
/data
Deploy and Host Pterodactyl Panel on Railway
Pterodactyl Panel is an open-source game server management platform designed for hosting and controlling game servers through a modern web interface. This template deploys the Panel with MariaDB and Redis, providing a complete control-plane stack that can connect to external Pterodactyl Wings nodes.
About Hosting Pterodactyl Panel
This template deploys the Pterodactyl Panel, MariaDB, and Redis as a ready-to-use management stack.
The Panel provides the web interface, API, user management, server configuration, locations, nodes, allocations, databases, schedules, backups, and administrative controls.
MariaDB stores persistent Panel data, while Redis is used for cache, sessions, and queued jobs.
The Panel itself runs on Railway, while actual game workloads should run on external Pterodactyl Wings nodes hosted on VPS or dedicated servers with Docker support.
Included Architecture
| Service | Purpose |
|---|---|
| Pterodactyl Panel | Web UI, API, server management, users, nodes, and configuration |
| MariaDB | Persistent Panel database |
| Redis | Cache, session, and queue backend |
| Panel Volume | Persistent Panel application state |
| MariaDB Volume | Persistent database storage |
| Redis Volume | Persistent Redis data |
┌─────────────────┐
│ User │
└────────┬────────┘
│
▼
Railway HTTPS Proxy
│
▼
┌─────────────────────┐
│ Pterodactyl Panel │
│ │
│ UI / API / Admin │
│ Users / Servers │
└───────┬─────┬───────┘
│ │
┌──────────┘ └──────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ MariaDB │ │ Redis │
│ Persistent │ │ Cache/Queue │
│ Database │ │ Sessions │
└──────────────┘ └──────────────┘
│
▼
External Pterodactyl Wings
VPS / Dedicated Nodes
Common Use Cases
- Manage multiple game servers from one control panel
- Connect external Wings nodes in different regions
- Create game servers for Minecraft, Rust, ARK, CS2, and other supported games
- Manage users, permissions, allocations, schedules, and backups
- Centralize game hosting administration
- Run the Panel separately from game workloads
- Build a multi-node game hosting environment
- Provide game server management for teams or customers
Pterodactyl Panel vs Traditional Game Hosting
| Feature | Pterodactyl Panel | Traditional Single Server Setup |
|---|---|---|
| Web management | ✅ Yes | ⚠️ Usually manual |
| Multi-node support | ✅ Yes | ❌ Limited |
| User management | ✅ Yes | ⚠️ Manual |
| Server isolation | ✅ Wings/Docker | ⚠️ Depends on setup |
| API access | ✅ Yes | ❌ Usually unavailable |
| Multi-region nodes | ✅ Yes | ❌ Usually not |
| Central control plane | ✅ Yes | ❌ No |
Pterodactyl is especially useful when you want a dedicated management layer for multiple game servers and nodes instead of administering each machine manually.
Panel and Wings Architecture
This template deploys the Panel only on Railway.
Game servers themselves are not intended to run inside the Panel container.
Pterodactyl uses Wings as the node daemon responsible for running game servers with Docker.
A typical setup looks like:
Pterodactyl Panel
Railway
│
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
Wings-1 Wings-2 Wings-3
VPS VPS VPS
│ │ │
Games Games Games
Wings nodes can be hosted on VPS or dedicated servers in different regions and connected back to the Panel.
Persistent Storage
This template uses persistent storage for the Panel, MariaDB, and Redis.
Pterodactyl Panel
Panel application state is persisted under:
/app/var
This helps retain important Panel state across service restarts and redeployments.
MariaDB
MariaDB stores Panel application data under:
/var/lib/mysql
The database contains important Panel information such as:
- Users
- Servers
- Nodes
- Locations
- Allocations
- Permissions
- Schedules
- Database configuration
- Panel settings
Redis
Redis persistent data is stored under:
/data
Redis is used for application caching, sessions, and background queue workloads.
Getting Started
After deployment:
- Wait until the Panel, MariaDB, and Redis services are online.
- Open the public Railway domain assigned to the Pterodactyl Panel.
- Create the first administrator account if one has not been provisioned automatically.
- Log in to the Panel.
- Create your first Location.
- Add a Node.
- Install Pterodactyl Wings on an external VPS or dedicated server.
- Connect the Wings node to the Panel.
- Configure server allocations.
- Create your first game server.
Creating the First Administrator
If the template does not automatically create the initial administrator account, open the Railway Console for the Panel service and run:
php artisan p:user:make
Follow the prompts to create the first administrator.
Once completed, return to the Panel URL and sign in.
Connecting Wings Nodes
Pterodactyl Wings should run on a machine that provides:
- Linux
- Docker
- Root or appropriate system privileges
- Publicly reachable networking
- Game server ports
- Sufficient CPU, RAM, and storage for workloads
The Wings daemon communicates with the Panel while managing the actual game server containers.
This separation allows the Railway deployment to act as the centralized control plane while compute-heavy game workloads run on infrastructure designed for them.
Security Considerations
For production deployments:
- Use strong administrator credentials.
- Keep MariaDB and Redis on Railway private networking.
- Do not publicly expose database ports unless absolutely required.
- Use HTTPS for Panel access.
- Protect Wings nodes with proper firewall rules.
- Keep the Panel and Wings versions compatible.
- Back up MariaDB regularly.
- Protect the Panel application key and persistent storage.
Because the Panel controls connected game nodes, administrative access should be treated as highly privileged.
Dependencies for Pterodactyl Panel Hosting
- Pterodactyl Panel — game server management interface and API
- MariaDB — persistent application database
- Redis — cache, session, and queue backend
- Panel Persistent Volume — stores Panel application state
- MariaDB Persistent Volume — stores Panel database data
- Redis Persistent Volume — stores Redis data
- Railway Private Networking — internal Panel, MariaDB, and Redis communication
- Railway Public Networking — HTTPS access to the Panel
- External Wings Node — required to actually run game servers
Deployment Dependencies
- Pterodactyl Documentation: https://pterodactyl.io/
- Pterodactyl Panel GitHub: https://github.com/pterodactyl/panel
- Pterodactyl Wings GitHub: https://github.com/pterodactyl/wings
- Pterodactyl Wings Installation: https://pterodactyl.io/wings/1.0/installing.html
- Railway Networking: https://docs.railway.com/networking
- Railway Volumes: https://docs.railway.com/volumes
Why Deploy Pterodactyl Panel on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Pterodactyl Panel on Railway, you get a centralized game server control plane with MariaDB, Redis, persistent storage, private networking, and a modern web interface while keeping game nodes flexible and deployable anywhere.
Template Content
