Deploy crafty-template

Run Minecraft servers from a web panel - Crafty Controller in one click

Deploy crafty-template

Crafty Controller on Railway — Minecraft server management panel in one click

Deploy on Railway

Run Minecraft servers from a web panel. This template deploys Crafty Controller 4 (pinned to the official registry.gitlab.com/crafty-controller/crafty-4:4.11.0 image) with a persistent volume, a generated admin login, your panel on a HTTPS Railway domain, and one public TCP proxy wired for your first Minecraft server.

  • Zero credentials shipped — Crafty generates a random admin username and password on first boot into default-creds.txt on your volume.
  • Zero deploy-form inputs — the only variable, PORT, defaults to ${{RAILWAY_TCP_PROXY_PORT}} automatically.
  • Java Edition over TCP — create the server on port 25565 in the panel and players join via the provisioned TCP proxy.

Deploy and Host

Deploying provisions a single service, crafty:

PanelCrafty Controller 4.11.0 on your Railway domain (Railway TLS at the edge; an internal bridge forwards to Crafty's own HTTPS listener)
PersistenceOne volume at /data — config + SQLite DB (/data/config), servers (/data/servers), backups (/data/backups), logs (/data/logs)
Server portTCP proxy on internal port 25565 (public host/port injected as RAILWAY_TCP_PROXY_DOMAIN / RAILWAY_TCP_PROXY_PORT)
Java runtimesOpenJDK 8/11/17/21/25 — Minecraft 1.7 through the latest release

The entrypoint links Crafty's five documented paths (/crafty/app/config, /crafty/servers, /crafty/backups, /crafty/logs, /crafty/import) into the single Railway volume, fixes group permissions for the container's non-root crafty user, seeds first-boot defaults, and starts an HTTP→HTTPS bridge so the panel is reachable through Railway's router with a valid certificate.

VariableValue
PORT${{RAILWAY_TCP_PROXY_PORT}} — set automatically, no input needed

About Hosting

Crafty Controller is a self-hosted panel that launches and manages Minecraft servers inside its own container. Hosting it on Railway gives you a managed panel URL, usage-based pricing, persistent storage for worlds and configs, and a public TCP entry point for players — without running a home server or a VPS.

Budget 2–3 GB of RAM for the panel plus one small Paper server (heavier modpacks need more). Expect roughly $10–15/month on Railway's usage-based pricing including the volume.

Java Edition servers are reachable over the internet via TCP. Bedrock (UDP) cannot be exposed on Railway — Railway has no UDP ingress — so Bedrock servers are usable only over LAN/VPN-style tunnels.

Why Deploy

  • One click, fully prewired: volume, healthcheck (/login), public domain, and the first Minecraft server's TCP proxy are provisioned for you — the upstream docker-compose expects five volume mounts and manual port publishing, which don't map one-to-one onto Railway. This template consolidates them safely and documents every adaptation.
  • Secure by default: no shared credentials — the admin password is generated on your volume, and the panel enforces a password change on first login.
  • Valid HTTPS: Railway's edge TLS in front of Crafty's self-signed internal cert, so no browser warnings.
  • Pinned upstream image: crafty-4:4.11.0 from the official GitLab registry — reproducible deploys and clear upgrade paths.

Common Use Cases

  • Host a survival or creative Paper/Vanilla/Fabric/Forge server for friends, managed from the browser.
  • Run multiple Java servers (e.g. one per modpack) from one panel — add a TCP proxy per server port.
  • Schedule automated backups of worlds to /data/backups and download them via panel or SSH.
  • Give each player/operator a Crafty user with scoped permissions instead of sharing one login.
  • Test server configs, plugins, and version upgrades before committing.

Dependencies for

No external services or accounts are required — everything runs in the single crafty service.

Deployment Dependencies

  • Railway account with usage-based billing (panel + one small server: ~2–3 GB RAM).
  • A Minecraft Java Edition client (vanilla launcher) to join — the server itself, its Java runtime, and all panel dependencies ship inside the image.
  • That's it. After deploy: fetch the generated credentials with railway ssh (cat /data/config/default-creds.txt), log in, set your own password, create a Paper server on port 25565, and hand players RAILWAY_TCP_PROXY_DOMAIN:RAILWAY_TCP_PROXY_PORT.

Template Content

More templates in this category

View Template
open-excalidraw
Self-hostable collaborative drawing built on Excalidraw

Prateek Mohanty
3
View Template
caring-vibrancy
Deploy and Host caring-vibrancy with Railway

5
View Template
NEW
WireMock Private API Stubs
Persistent HTTP API stubs behind generated owner access.

orenaksakal
0