ProductPromotion
Logo

Open.Source

made by https://0x3d.site

GitHub - rommapp/romm: A beautiful, powerful, self-hosted rom manager
A beautiful, powerful, self-hosted rom manager. Contribute to rommapp/romm development by creating an account on GitHub.
Visit Site

GitHub - rommapp/romm: A beautiful, powerful, self-hosted rom manager

GitHub - rommapp/romm: A beautiful, powerful, self-hosted rom manager

license-badge-img release-badge-img docker-pulls-badge-img

discord-badge-img unraid-badge-img wiki-badge-img

Table of Contents

Overview

RomM (ROM Manager) allows you to scan, enrich, and browse your game collection with a clean and responsive interface. With support for multiple platforms, various naming schemes, and custom tags, RomM is a must-have for anyone who plays on emulators.

Features

  • Scans your existing games library and enhances it with metadata from IGDB and MobyGames
  • Supports a large number of platforms
  • Play games directly from the browser using EmulatorJS
  • Share your library with friends while limiting access and permissions
  • Supports MAME, Nintendo Switch, and Sony Playstation naming schemes
  • Detects and groups multifile games (e.g. PS1 games with multiple CDs)
  • Can parse tags in filenames (e.g. (E), (USA), (rev v1), etc.)
  • View, upload, update, and delete games from any modern web browser

Preview

🖥 Desktop 📱 Mobile

Installation

Before running the image, please ensure that Docker is installed and running on your system.

  1. Generate API keys for IGDB and/or MobyGames to fetch metadata.
  2. Verify that your library folder structure matches one of the options listed in the folder structure section.
  3. Create a docker-compose.yml file by referring to the example docker-compose.yml file for guidance, and customize it for your setup with the available environment variables.
  4. Launch the container(s) with docker-compose up -d.

[!NOTE] > If you are having issues with RomM, please review the wiki page for troubleshooting steps and common issues.

Configuration

Folder Structure

As mentioned in the installation section, RomM requires a specific folder structure. The two supported structures are as follows:

[!TIP] For folder naming conventions, review the Platform Support section. To override default system names in the folder structure (if your directories are named differently), see the Configuration File section.

Configuration File

RomM's "understanding" of your library can be configured with a config.yaml file or through the config tab in the Control Panel under the Settings section. Refer to the example config.yml file for guidance on how to configure it and the example docker-compose.yml file on how to mount it into the container.

Scheduler

The scheduler allows you to schedule async tasks that run in the Redis container at regular intervals. Jobs can be run at a specific time in the future, after a time delta, or at recurring internals using cron notation. The wiki page on the scheduler has more information on which tasks are available and how to enable them.

Naming Convention

Platform Support

If you adhere to the RomM folder structure, RomM supports all platforms listed on the Supported Platforms page. The folder is case-sensitive and must be used exactly as it appears on the list. When scanning your library, RomM will use the folder name to determine the platform and fetch the appropriate game information, metadata, and cover art.

Additionally, some of these platforms have custom icons available (learn more about platform icons in our wiki).

Tag Support

Games can be tagged with region, revision, or other tags by using parentheses in the file name. Additionally, you can set the region and language by adding a prefix: (USA), [reg-J], (French), [De].

  • Revision tags must be prefixed with "rev " or "rev-" (e.g. (rev v1) or (rev-1))
  • Other tags will also be imported, for example: my_game [1.0001](HACK)[!].gba

Tags can be used to search for games in the search bar. For example, searching for (USA) will return all games with the USA tag.

Community

Here are a few projects maintained by members of our community. Since the RomM team does not regularly review them, we recommend that you review them closely before you use them.

Join us on Discord, where you can ask questions, submit ideas, get help, showcase your collection, and discuss RomM with other users.

discord-invite-img

Support

If you like this project, consider buying me a coffee!

coffee-donate-img

Our Friends

Here are a few projects that we think you might like:

Articles
to learn more about the open-source concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Open-Source.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory