Skills2026年5月5日·1 分钟阅读

Romm — Self-Hosted ROM Collection Manager & Player

A self-hosted ROM library manager with metadata scraping, in-browser emulation, and multi-platform support for retro gaming collections.

Agent 就绪

先审查再安装

这个资产需要先审查。复制的指令会要求 Agent dry-run、列出写入项,确认后再继续。

Needs Confirmation · 64/100策略:需确认
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Romm ROM Manager
先审查命令
npx -y tokrepo@latest install 18753a68-481a-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run,确认写入项后再运行此命令。

Introduction

Romm is a self-hosted game library manager designed for retro ROM collections. It automatically scrapes metadata and artwork from IGDB, organizes games by platform, and provides in-browser emulation so you can play directly from your server without downloading files locally.

What Romm Does

  • Scans and organizes ROM files by platform with automatic folder detection
  • Scrapes game metadata, cover art, and screenshots from IGDB and MobyGames
  • Provides in-browser emulation via EmulatorJS for instant play without downloads
  • Supports multi-user access with individual game libraries and save states
  • Manages firmware files, BIOS images, and save data alongside ROMs

Architecture Overview

Romm runs as a Python FastAPI backend with a Vue.js frontend, packaged in a single Docker container. It uses MariaDB for metadata storage and scans a mounted ROM directory on disk. The EmulatorJS integration serves WASM-based emulator cores directly in the browser, communicating with the backend for ROM streaming and save state sync.

Self-Hosting & Configuration

  • Deploy with Docker Compose; requires MariaDB and a mounted ROM directory
  • Obtain an IGDB API key (free) for metadata scraping
  • Organize ROMs in platform-named folders for automatic detection
  • Configure via environment variables for database, auth, and scraper settings
  • Supports HTTPS behind a reverse proxy with standard headers

Key Features

  • In-browser play: emulate games directly without client software
  • Multi-platform support: covers 50+ retro systems from Atari to PS2
  • Cloud save states: resume games across devices through the web UI
  • Multi-user: each user gets their own library view and save data
  • Bulk scanning with incremental updates for large collections

Comparison with Similar Tools

  • RetroArch — desktop emulator frontend; Romm is web-based and server-hosted
  • Playnite — Windows game launcher; Romm focuses on ROM management and web access
  • LaunchBox — Windows-only with paid tiers; Romm is free and cross-platform
  • EmulatorJS standalone — player only; Romm adds library management and metadata
  • Gaseous — similar self-hosted concept; Romm has broader platform coverage

FAQ

Q: What platforms does Romm support for in-browser emulation? A: Most systems from NES through PS1/N64, plus handheld consoles. Newer systems depend on EmulatorJS core availability.

Q: How large can my ROM library be? A: There is no built-in limit. Users manage collections with tens of thousands of ROMs on modest hardware.

Q: Does Romm handle multi-disc games? A: Yes, multi-file and multi-disc games are grouped together as a single library entry.

Q: Can I share my library with friends? A: Yes, multi-user support lets you invite others with configurable permissions per user.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产