---
title: "Deploy romm"
description: "A beautiful self-hosted ROM manager and player"
category: "Other"
url: https://railway.com/deploy/romm
---

# Deploy romm

A beautiful self-hosted ROM manager and player

**[Deploy romm on Railway](https://railway.com/template/romm)**

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

## Template content

### app https://raw.githubusercontent.com/osbytes/template-romm/27de346bead2d02ab4ed52c20e4ff7ac63b2621c/assets/logo.svg

- **Source:** osbytes/template-romm
- **Health check:** /api/heartbeat
- **Public domain:** Yes

### mariadb https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQhmrCLpifYPHPFANMSxFjjtXIWvg4PcN-9PDPRGIggEWMt6dltFBQbxM0&s=10

- **Image:** mariadb:11.4

## Documentation

# Deploy and Host RomM on Railway

RomM is a beautiful, powerful self-hosted ROM manager and player. Browse your
game library in the browser, pull metadata and artwork, manage saves and
states, and share collections with friends.

## About Hosting RomM

This template runs the standard RomM stack: the app (web UI plus embedded
Valkey for background tasks) and MariaDB for metadata. Only the app is public;
the database stays on private networking. Persist a single volume at `/romm`
so library, resources, assets, and config survive redeploys (Railway allows one
volume per service). First boot runs database migrations and may take a minute
before `/api/heartbeat` is ready. After deploy, finish the setup wizard, place
ROMs under `/romm/library`, and run a scan.

## Common Use Cases

- Personal or shared retro game library with metadata and covers
- Browser play via EmulatorJS for supported platforms
- Save / state sync across devices for your collection

## Dependencies for RomM Hosting

- RomM app (`rommapp/romm`)
- MariaDB 11.4

### Deployment Dependencies

- Upstream project: https://github.com/rommapp/romm
- Product site &amp; docs: https://romm.app / https://docs.romm.app/
- Docker image: https://hub.docker.com/r/rommapp/romm
- Self-host compose example: https://github.com/rommapp/romm/blob/master/examples/docker-compose.example.yml

### Implementation Details

- Public entry: app on port `8080`, healthcheck `/api/heartbeat`
- Embedded Valkey inside the RomM image when `REDIS_HOST` is unset (no separate Redis service)
- One volume on `app` at `/romm`; `/redis-data` is ephemeral on Railway

## Why Deploy RomM 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 RomM on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## 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/romm
