Railway

Deploy Pterodactyl Panel + MariaDB

Pterodactyl Panel with MariaDB, Redis, volumes, and private networking.

Deploy Pterodactyl Panel + MariaDB

Just deployed

/var/lib/mysql

Just deployed

/app/var

Just deployed

/data

Pterodactyl Panel Railway Template

This folder tracks a Railway template for the Pterodactyl Panel.

Published template:

Stack

  • Pterodactyl Panel via the official ghcr.io/pterodactyl/panel image
  • MariaDB on a private Railway service, exposed to the Panel as MySQL-compatible storage
  • Railway Redis on a private Railway service
  • Persistent volumes for database data and Panel state/logs/config
  • Railway public domain for the Panel UI

Why This Template Should Convert

  • Pterodactyl has clear marketplace demand and a high active-project ratio.
  • The app is sticky because users keep game hosting control planes alive.
  • The existing marketplace option leaves room for a clearer, supportable Railway-native setup.
  • The official container already handles DB waiting, migrations, seeds, cron, PHP-FPM, nginx, and the queue worker.

Runtime Shape

  • panel
    • Image: ghcr.io/pterodactyl/panel:latest
    • Public domain on port 80
    • Volume mounted at /app/var
  • mysql
    • Image: mariadb:11
    • Private only
    • Volume mounted at /var/lib/mysql
  • redis
    • Railway Redis database service
    • Private only
    • Ephemeral cache/session/queue service

Key Variables

Panel:

  • APP_ENV=production
  • APP_DEBUG=false
  • PORT=80
  • APP_URL=https://${{RAILWAY_PUBLIC_DOMAIN}}
  • APP_TIMEZONE=UTC
  • [email protected]
  • APP_ENVIRONMENT_ONLY=false
  • APP_KEY=
  • HASHIDS_SALT=
  • HASHIDS_LENGTH=8
  • DB_CONNECTION=mysql
  • DB_HOST=${{mysql.RAILWAY_PRIVATE_DOMAIN}}
  • DB_DATABASE=${{mysql.MARIADB_DATABASE}}
  • DB_USERNAME=${{mysql.MARIADB_USER}}
  • DB_PASSWORD=${{mysql.MARIADB_PASSWORD}}
  • REDIS_HOST=${{Redis.RAILWAY_PRIVATE_DOMAIN}}
  • REDIS_PORT=${{Redis.REDISPORT}}
  • REDIS_PASSWORD=${{Redis.REDIS_PASSWORD}}
  • CACHE_DRIVER=redis
  • SESSION_DRIVER=redis
  • QUEUE_CONNECTION=redis
  • QUEUE_DRIVER=redis
  • MAIL_MAILER=log
  • MAIL_DRIVER=log
  • [email protected]
  • MAIL_FROM_NAME=Pterodactyl Panel

MariaDB/MySQL-compatible database:

  • MARIADB_DATABASE=${{RAILWAY_SERVICE_NAME}}
  • MARIADB_USER=${{RAILWAY_SERVICE_NAME}}
  • MARIADB_PASSWORD=
  • MARIADB_ROOT_PASSWORD=

Required First-Admin Step

After the first successful deploy, create the admin account from Railway SSH:

railway ssh --service panel php artisan p:user:make

The Panel is only the web control plane. Users still need one or more Wings nodes on infrastructure that supports Docker and game-server networking.

Railway currently supports one volume mount per service in this template flow, so the Panel persists /app/var. Nginx config, cert cache, and logs remain ephemeral.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

Shahed Nasser