🔥
HotRepo
romm — Self-host A beautiful, powerful, self-hosted rom manager and player.
📦
rommapp

romm — Self-host A beautiful, powerful, self-hosted rom manager and player.

A beautiful, powerful, self-hosted rom manager and player.

8.9k🍴 425Python📜 agpl-3.0🐳 Docker Compose#emulation#open-source#retrogaming#rommapp

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

desktop preview

mobile preview

Aikido Security Audit Report

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 -d deploy 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.