---
title: "Deploy world-of-claudecraft"
description: "WoW-style micro-MMO with browser client and persistent multiplayer"
category: "Other"
url: https://railway.com/deploy/world-of-claudecraft
---

# Deploy world-of-claudecraft

WoW-style micro-MMO with browser client and persistent multiplayer

**[Deploy world-of-claudecraft on Railway](https://railway.com/template/world-of-claudecraft)**

- **Creator:** kmaki's Projects
- **Category:** Other

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### app

- **Image:** xiaosong233/world-of-claudecraft-railway:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host World of Claudecraft on Railway

## About Hosting World of Claudecraft on Railway
World of Claudecraft runs on Railway as a two-service Docker deployment: a single game server container serves the built browser client, REST API, and WebSocket world loop, while Railway Postgres stores accounts, characters, chat logs, social data, and world state.

## Tech Stack
- TypeScript / Node.js game server
- Vite-built browser client
- WebSocket multiplayer world loop
- PostgreSQL persistence
- Docker image deployment on Railway

## Why Deploy World of Claudecraft on Railway
Railway provides managed Postgres, automatic HTTPS domains, persistent database volumes, and simple Docker image deploys. The template starts a playable browser MMO without source-based builds or manual server provisioning.

## Common Use Cases
- Host a small private WoW-classic-style browser MMO realm
- Test multiplayer combat, chat, quests, parties, trading, duels, markets, and talents
- Run a persistent demo realm for friends or community playtesting
- Experiment with the project while keeping state in managed Postgres

## Deployment Notes
The app service uses the prebuilt Docker Hub image `xiaosong233/world-of-claudecraft-railway:latest` and listens on port `8787`; keep `PORT=8787` so Railway routes HTTP and WebSocket traffic correctly. `DATABASE_URL` must point at the Postgres service. No start command override is required because the image CMD copies bundled media into place and starts `dist-server/server.cjs`. Game/player state is persisted in Postgres; the app container itself does not require an app volume. Do not set `ALLOW_DEV_COMMANDS` on public deployments.

## Dependencies for World of Claudecraft on Railway
World of Claudecraft requires one HTTP app service and one Postgres database service. The app depends on the database being reachable through `DATABASE_URL`.

### Deployment Dependencies

| Service | Image | Port | Volume |
|---------|-------|------|--------|
| app | xiaosong233/world-of-claudecraft-railway:latest | 8787 | - |
| Postgres | ghcr.io/railwayapp-templates/postgres-ssl:18 | 5432 | /var/lib/postgresql/data |

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/world-of-claudecraft
