romm
A beautiful, powerful, self-hosted rom manager and player.
⭐ 8,756 stars on GitHub · 🍴 412 forks · 📜 License: agpl-3.0 · 💻 Language: Python
What is romm?
For retro gaming collections that have outgrown folders and spreadsheets, RomM gives you a polished self-hosted library with browser-based playback built in. Its differentiator is the combination of metadata-rich ROM management, web access, and integrations for desktop, mobile, and handheld workflows.
Main components
- Scans ROM directories and builds a browsable game library across many platforms.
- Enriches games with metadata from IGDB, Screenscraper, and MobyGames.
- Pulls custom artwork from SteamGridDB for cleaner library presentation.
- Supports browser-based play through EmulatorJS and RuffleRS.
- Handles multi-disc games, DLCs, mods, hacks, patches, manuals, and filename tags.
- Provides user sharing with limited access and permissions.
- Connects to wider gaming workflows through Playnite, Android clients, CFW tools, and community sync apps.
Clear use cases
- Build a private web-based ROM library for your home server or NAS.
- Let family or friends browse selected games without exposing your whole filesystem.
- Centralize metadata, cover art, manuals, and tags for a mixed emulator collection.
- Play supported retro games directly in the browser without setting up a full desktop frontend.
- Keep a cleaner workflow across Playnite, Android devices, Steam Deck-style handhelds, and custom firmware devices.
The biggest strength is turning a messy ROM archive into a usable media-server-style experience — not just listing files, but enriching them, organizing them, and making them playable from a modern web UI. Compared with commercial game-library tools or desktop-only frontends, RomM is stronger when you want ownership, remote access, multi-user sharing, and server-side organization under your control.
Best for homelab users, retro gaming collectors, and sysadmins who want a self-hosted ROM library that works across browsers, desktops, mobile devices, and handhelds.
Topics: the project is tagged with popular topics:
- 🏷️
emulation - 🏷️
open-source - 🏷️
retrogaming - 🏷️
rommapp - 🏷️
self-hosted
📸 Screenshots



Quick install
The project supports Docker Compose:
git clone https://github.com/rommapp/romm.git
cd romm
docker compose up -d
Check the README in the repo for required env variables.
Minimum system requirements
| Component | Recommended |
|---|---|
| RAM | 2048 MB |
| CPU | 2 vCPU |
| Disk | 25 GB SSD |
| OS | Ubuntu 22.04 LTS / Debian 12 |
| Docker | 24.0+ |
⚡ Deploy fast on VSIS
Use the VSIS VPS Lite 2GB RAM / 2 vCPU / 25GB SSD (~104k/tháng) plan from VSIS.NET — high-speed VN-based VPS, 24/7 support, ideal for running romm smoothly.
🎯 Benefits:
- One-command
docker compose up -ddeploy in 2 minutes - Dedicated IPv4, root access, unmetered domestic bandwidth
- Daily snapshot backup
- Free install assistance from the VSIS team
👉 See matching VPS plans at vsis.net
Resources
- 🔗 GitHub: rommapp/romm
- 🌐 Homepage: https://romm.app
- 📚 Official docs: see README in the repo
- 💬 Community: GitHub Issues + Discussions
Article compiled from GitHub data on 05/05/2026. Star/fork counts may have changed — see live numbers via the GitHub link.
