awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rommapp avatar

rommapp/romm

0
View on GitHub↗
7,824 stars·336 forks·Python·agpl-3.0·43 viewsromm.app↗

Romm

Romm is a self-hosted game library manager and ROM management web interface. It serves as a central server for storing and categorizing game files and emulator firmware, providing a web-based browser to organize collections through automated library scanning and metadata retrieval.

The project distinguishes itself by integrating a web-based emulator frontend that uses WebAssembly to play games directly in the browser. It further provides a game save synchronization server that uses SSH-based synchronization to transfer save states and progress between the server and registered handheld devices.

The system covers broad capability areas including metadata aggregation from external databases, multiplayer game hosting via WebSockets, and homebrew console integration through network feeds and QR codes. It also includes identity management via OpenID Connect, role-based access control, and a console-optimized user interface designed for gamepad navigation.

The application supports containerized deployment using Docker and Kubernetes.

Features

  • Self-Hosted Management - Provides a self-hosted server for organizing personal ROM collections with automated scanning and metadata retrieval.
  • Web-Based Emulators - Executes emulator cores directly in the web browser using WebAssembly for instant game playback.
  • Game Save Synchronization - Provides secure SSH-based synchronization of game saves and states between the server and handheld devices.
  • Content Metadata Enrichment - Augments game entries with detailed information and custom tags for better organization.
  • External Metadata Integration - Fetches game titles, descriptions, and artwork from databases like IGDB and ScreenScraper.
  • Self-Hosted Game Library Managers - Provides a central server for storing, categorizing, and sharing ROMs and emulator firmware across platforms.
  • Game ROM Organization - Provides a web interface for organizing ROM collections with automated scanning and metadata retrieval.
  • ROM Collection Scanning - Scans local storage for ROM files and identifies games across multiple platforms.
  • Game State Persistences - The project writes save actions and state captures from an active emulator session directly back to the server.
  • Metadata Aggregators - Aggregates game titles, artwork, and completion times from external gaming databases and APIs.
  • Save Synchronizers - Automates the synchronization of game save files and states between the server and handheld devices via SSH.
  • Hash-Based Matching - Identifies game files by calculating unique signatures to ensure accurate metadata retrieval from external databases.
  • Emulation Save Management - Stores and retrieves game progress and snapshots to allow users to resume play from a specific point.
  • Game Save Synchronization Tools - Transfers save files and emulator states between the server and registered devices to maintain progress.
  • Game Library Ingestion - Supports the upload of ROMs, firmware, and cover art to organize the game library.
  • Game Progress Synchronization - Uploads save files, game states, and screenshots to track individual player progress.
  • WebAssembly-Based Playback - Enables playing Flash and Shockwave content directly in the browser via WebAssembly.
  • OIDC Authentication Plugins - Provides single sign-on and centralized multi-factor authentication through OpenID Connect integration.
  • Role-Based Access Control - Assigns users to predefined roles with specific scopes to control library curation and user management.
  • Hashing-Based Matching - Identifies games using file hashes via providers like Hasheous and Playmatch.
  • Media Filename Parsers - Extracts provider IDs from filenames to precisely match games with external metadata entries.
  • Web Library Browsers - Provides a responsive web interface to view and navigate a self-hosted collection of ROMs.
  • Game Asset Management - Stores and organizes user-uploaded save files, emulator states, and screenshots.
  • System Firmware Importers - Manages the upload and storage of BIOS files to provide necessary firmware for emulation cores.
  • Category Organizations - Allows users to create named groupings of ROMs into custom categories.
  • Library Data Feeds - Offers formatted library data feeds for consumption by third-party tools and bootloaders.
  • Dynamic Collections - Creates virtual game collections that update automatically based on metadata filters.
  • Library Scan Scheduling - Runs recurring background jobs for file scanning, metadata synchronization, and asset optimization.
  • Metadata-Based Grouping - Provides automatic grouping of games into collections based on shared attributes such as genre, developer, or franchise.
  • Remote Library Synchronization - Allows external launchers and handheld companions to browse and launch games from the remote server.
  • System Firmware Storage - Tracks and stores BIOS or firmware files per platform and serves them to web players and companion apps.
  • Data Integrity Verification - Calculates and validates CRC, MD5, and SHA1 hashes for game files to detect corruption.
  • Game State Persistence - Captures the real-time memory state of running games to allow players to resume from specific points.
  • REST APIs - Provides a documented REST API for programmatically accessing game data and management functions.
  • Achievement Tracking Integrations - Integrates with RetroAchievements to track and display game milestones for users.
  • Session Configuration - Configures Netplay and STUN/TURN servers through the web interface to facilitate multiplayer gaming sessions.
  • Playback Orchestration - Orchestrates game playback by launching in-browser emulators or prompting downloads for unsupported platforms.
  • Retro Gaming Social Infrastructure - Hosts multiplayer netplay sessions and tracks community achievements for classic games through a web interface.
  • Emulated Input Mappings - Provides global and per-core emulator settings and input mappings for keyboards and controllers.
  • Game File Streaming - Streams ROMs and multi-disc game sets directly from disk to the client as zip archives.
  • Homebrew Game Feeds - Provides specialized URL endpoints for homebrew installers on consoles to discover and install games.
  • Multiplayer Game Servers - Connects multiple players over the internet via WebSockets and NAT traversal for real-time co-op or competitive play.
  • Remote ROM Streaming - Provides direct HTTP URLs for game files to enable remote loading of ROMs into emulator software over Wi-Fi.
  • Scoped Token Issuance - Generates long-lived, scoped API tokens for companion apps and secure handheld device pairing.
  • Companion Device Registration - Enables linking handheld devices to the server for managing game save synchronization paths.
  • Identity Provider Role Mapping - Maps user roles and permissions based on groups or claims provided by an external identity provider.
  • OIDC Identity Integrations - Implements single sign-on and centralized authentication using OpenID Connect.
  • OpenID Connect Support - Provides an identity system leveraging OIDC for single sign-on and role-based access control.
  • Passkey Authentication - Allows users to sign in using passwordless passkey authentication via external identity providers.
  • Single Sign-On Integrations - Integrates with external identity providers via OpenID Connect for single sign-on and role mapping.
  • External Provider Redirections - Redirects users directly to external identity providers for a seamless single sign-on experience.
  • Game File Standardization - Standardizes ROM file paths and names to ensure compatibility with library managers.
  • Redis-Backed Queues - Uses a Redis-backed queue to process asynchronous library scans and image conversions.
  • Job Queues - Uses a Redis-backed queue to process long-running operations and asynchronous jobs in the background.
  • Background Task Schedulers - Executes scheduled and manual background tasks like library rescans and image conversion.
  • Game Binary Patching - Modifies game files using various patch formats directly in the browser to apply translations or fixes.
  • Filesystem Change Monitors - Monitors library folders for file events to automatically trigger game scans.
  • Gamepad-Driven Navigation - Provides a spatial grid-based interface designed for TVs and controllers using gamepad polling.
  • Gamepad-Optimized Interfaces - Provides a dedicated interface optimized for gamepads and TV displays.
  • Multiplayer Session Synchronizers - Utilizes WebSockets to provide live-update channels and synchronization for real-time networked multiplayer sessions.
  • Gaming Tools - Listed in the “Gaming Tools” section of the Awesome Selfhosted awesome list.

Star history

Star history chart for rommapp/rommStar history chart for rommapp/romm

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Romm

These projects share indexed features with Romm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • emulatorjs/emulatorjsEmulatorJS avatar

    EmulatorJS/EmulatorJS

    3,925View on GitHub↗

    EmulatorJS is a WebAssembly emulation framework and RetroArch web frontend designed to run classic video game ROMs and BIOS files directly in a web browser. It serves as a web-based game emulator that executes hardware-accurate emulation cores to reproduce the behavior of various vintage home consoles and arcade systems. The project is distinguished by its ability to synchronize game states between multiple users in real time using WebRTC for browser-based multiplayer gaming. It also includes a dedicated HTML5 game embed tool that generates code snippets and isolated containers to integrate p

    JavaScriptatari-lynxatari2600atari7800
    View on GitHub↗3,925
  • gaseous-project/gaseous-servergaseous-project avatar

    gaseous-project/gaseous-server

    899View on GitHub↗

    Gaseous Server is a self-hosted platform designed to organize, manage, and execute digital game collections. It functions as a centralized server that automatically scans local storage directories to detect and categorize game files, while simultaneously retrieving descriptive metadata from external community databases to maintain a structured and searchable library. The platform distinguishes itself by integrating a browser-based execution environment that utilizes WebAssembly to run game binaries directly within a web interface. This approach allows users to access and play titles without t

    C#emulationopen-sourceretrogaming
    View on GitHub↗899
  • zurdi15/rommzurdi15 avatar

    zurdi15/romm

    9,010View on GitHub↗

    RomM is a self-hosted ROM manager and web-based game emulator designed to catalog and organize digital game libraries. It provides a central web interface for managing game files, tracking titles, and maintaining a digital repository of artwork and achievement data. The system enables gameplay through embedded browser-based emulation and the ability to trigger external local players. It differentiates its library management by automatically fetching metadata from external databases and using filename-pattern parsing to categorize games via tags. The platform supports multi-user environments

    Python
    View on GitHub↗9,010
  • feast-dev/feastfeast-dev avatar

    feast-dev/feast

    6,727View on GitHub↗

    Feast is an open-source feature store for machine learning that provides a central platform for defining, storing, and serving features across both training and inference workflows. It operates as a declarative system where feature definitions are written as code in Python files, synchronized to a central registry, and made available for low-latency online retrieval or point-in-time correct historical joins for training datasets. The project abstracts storage behind a pluggable architecture, allowing offline and online backends to be swapped without changing retrieval logic, and coordinates ma

    Pythonbig-datadata-engineeringdata-quality
    View on GitHub↗6,727
Compare all 30 related projects→

Frequently asked questions

What does rommapp/romm do?

Romm is a self-hosted game library manager and ROM management web interface. It serves as a central server for storing and categorizing game files and emulator firmware, providing a web-based browser to organize collections through automated library scanning and metadata retrieval.

What are the main features of rommapp/romm?

The main features of rommapp/romm are: Self-Hosted Management, Web-Based Emulators, Game Save Synchronization, Content Metadata Enrichment, External Metadata Integration, Self-Hosted Game Library Managers, Game ROM Organization, ROM Collection Scanning.

Which projects share features with rommapp/romm?

Projects with overlapping indexed features include: emulatorjs/emulatorjs — EmulatorJS is a WebAssembly emulation framework and RetroArch web frontend designed to run classic video game ROMs and… gaseous-project/gaseous-server — Gaseous Server is a self-hosted platform designed to organize, manage, and execute digital game collections. It… zurdi15/romm — RomM is a self-hosted ROM manager and web-based game emulator designed to catalog and organize digital game libraries.… feast-dev/feast — Feast is an open-source feature store for machine learning that provides a central platform for defining, storing, and… quarkusio/quarkus — Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications.… prefecthq/fastmcp — FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models…