Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rommapp/romm/llms.txt

Use this file to discover all available pages before exploring further.

RomM (ROM Manager) is a self-hosted web application that transforms your retro game collection into a fully-featured, browser-accessible library. With support for 400+ platforms, metadata enrichment from multiple providers, and a built-in emulator, RomM is the home for your entire ROM collection.

Quick Start

Deploy RomM with Docker in minutes and scan your first library

Folder Structure

Learn how to organize your ROM files for automatic detection

Metadata Providers

Configure IGDB, Screenscraper, MobyGames, and more

API Reference

Explore the REST API to integrate RomM with your tools

What RomM Does

RomM scans a directory of ROM files, automatically identifies each game by filename and hash, then pulls rich metadata — titles, descriptions, cover art, screenshots, ratings, and more — from industry-standard sources like IGDB, MobyGames, and Screenscraper. The result is a polished, searchable library you can access from any browser.

Play in Browser

EmulatorJS and RuffleRS power in-browser emulation for hundreds of systems

Save Sync

Sync save files and states across devices automatically

Multi-User

Share your library with role-based access control and per-platform permissions

Third-Party Apps

Connect Playnite, Android clients, handheld CFWs, and more

Key Features

  • 400+ platforms — Nintendo, Sega, Sony, Atari, arcade, and dozens more
  • Metadata from 10+ sources — IGDB, MobyGames, Screenscraper, RetroAchievements, SteamGridDB, LaunchBox, Hasheous, HowLongToBeat, and more
  • In-browser emulation — Play games directly via EmulatorJS and RuffleRS (Flash)
  • Cross-device save sync — Keep your progress wherever you play
  • Netplay — Real-time multiplayer via peer-to-peer WebRTC rooms
  • Feed generation — Tinfoil (Switch), WebRcade, PKGi (PS3/PSP/Vita), and Kekatsu-DS formats
  • OIDC/SSO — Integrate with Authelia, Authentik, Keycloak, and any compliant provider
  • REST API + WebSockets — Full programmatic access for integrations and automation
  • Flexible Docker deployment — Supports MariaDB, MySQL, and PostgreSQL

Architecture Overview

RomM runs as a Docker container exposing a web interface on port 8080. It consists of:
  • A FastAPI backend (Python 3.13+) handling the REST API, WebSocket connections, and background tasks
  • A Vue 3 single-page application for the browser interface
  • A MariaDB/MySQL/PostgreSQL database for persistent storage
  • A Redis/Valkey instance for caching, session storage, and background task queues
RomM does not host or distribute ROM files. You must supply your own legally-obtained ROM collection. Mount your library directory into the container as described in the Quick Start guide.

Build docs developers (and LLMs) love