Estimated reading time: 5 minutes

Du hast eine umfangreiche Sammlung an Retro- und modernen Spielen? Mit RomM kannst du all deine Games und Emulatoren zentral verwalten und sogar mit Freunden teilen. Als Open-Source-Projekt bietet RomM dir volle Kontrolle über deine Daten und eine Vielzahl an Funktionen, die dein Gaming-Erlebnis verbessern. Es gibt sogar eine Demoseite auf der du dir das Ganze in Gänze anschauen kannst.

For detailed instructions and an explanation of all configuration options, I recommend the YouTube video linked below. In this video, every single setting is explained in detail so that you receive comprehensive instructions for the exact setup. You can find any code from the video in this article so that you can use it directly without having to type it in.

This blog post and video is part of a series in which we create and set up our own home server. We start with the basics like an Ubuntu VM installation with Docker and then continue with the configuration of your own domain, security precautions and above all lots of cool and useful self-hosted services. Whether media servers like Plex or Jellyfin or document management like Paperless-NGX. Together we'll build the setup you want to see. We even tackle topics such as single sign-on (SSO) together.

Was ist RomM?

RomM ist ein selbst gehosteter ROM-Manager, der dir ermöglicht, deine Spielesammlung zu scannen, mit Metadaten anzureichern und über eine benutzerfreundliche Oberfläche zu durchsuchen. Dabei unterstützt RomM über 400 Plattformen – von klassischen Konsolen bis hin zu modernen Systemen wie PS5 oder Nintendo Switch.

Hauptfunktionen von RomM

1. Metadaten automatisch hinzufügen

RomM scannt deine vorhandene Spielesammlung und ergänzt sie automatisch mit Informationen wie Coverbildern und Spielbeschreibungen von Quellen wie IGDB, Screenscraper und MobyGames.

2. Spiele direkt im Browser spielen

Dank der Integration von EmulatorJS kannst du viele Spiele direkt in deinem Browser spielen, ohne zusätzliche Software installieren zu müssen. Unterstützt werden dabei Systeme wie NES, SNES, Game Boy, PlayStation und viele mehr.

3. Spielebibliothek mit Freunden teilen

Du kannst deine Spielesammlung mit Freunden teilen und dabei genau festlegen, wer Zugriff auf welche Spiele hat. So bleibt deine Sammlung privat und sicher. ​

4. Unterstützung für verschiedene Plattformen und Dateiformate

RomM erkennt verschiedene Namenskonventionen und Dateiformate, einschließlich Multi-Datei-Spiele wie PlayStation-Titel mit mehreren CDs. Auch Tags wie (USA) oder (rev v1) werden erkannt und erleichtern die Organisation deiner Sammlung.

Installation und Einrichtung

Die Einrichtung von RomM erfolgt über Docker. Du benötigst API-Schlüssel von IGDB oder MobyGames, um Metadaten abzurufen. Anschließend erstellst du eine docker-compose.yml-Datei, die deine Bibliotheksstruktur definiert. RomM bietet zwei empfohlene Ordnerstrukturen, um deine Spiele zu organisieren.

Schnelleinrichtung

Für eine schnelle Einrichtung kannst du deine ROMs direkt über die Weboberfläche hochladen oder den integrierten Scanner verwenden, der deine Spiele automatisch erkennt und mit Metadaten ergänzt.

Du willst RomM selbst hosten? Super! Mit Docker ist die Installation ziemlich einfach. Hier zeige ich dir Schritt für Schritt, wie du RomM auf deinem Server oder Heim-PC einrichtest.

Requirements

  • Docker & Docker Compose installiert
  • Ein bisschen Speicherplatz für deine ROMs
  • API-Schlüssel von IGDB (optional, aber zu empfehlen)

Schritt 1: API-Schlüssel erstellen

Damit RomM automatisch Metadaten (Cover, Beschreibungen etc.) zu deinen Spielen laden kann, brauchst du API-Zugang zu mindestens IGDB:

IGDB (über Twitch)

  1. Melde dich bei Twitch Developer an.
  2. Klicke auf „+ Register Your Application“.
  3. Wähle:
    • Name: z. B. RomM
    • OAuth Redirect URLs: localhost
    • Category: Application Integration
  4. Notiere dir deine Client ID and Client Secret.

Schritt 2: Docker-Setup

Du musst für die Umgebungsvariable ROMM_AUTH_SECRET_KEY einen Schlüssel erstellen. Das machst du mit dem Befehl: openssl rand -hex 32

Erstelle eine Datei docker-compose.yml with the following content:

services:
  romm:
    image: rommapp/romm:latest
    container_name: romm
    restart: unless-stopped
    ports:
      - "8091:8080"
    environment:
      - DB_HOST=romm-db
      - DB_NAME=romm
      - DB_USER=romm
      - DB_PASSWD=deinPasswort
      - DB_PORT=3306
      - ROMM_AUTH_SECRET_KEY=MUSS GENERIERT WERDEN
      - IGDB_CLIENT_ID=dein_igdb_client_id
      - IGDB_CLIENT_SECRET=dein_igdb_client_secret
      - ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true
      - RESCAN_ON_FILESYSTEM_CHANGE_DELAY=60
      - ENABLE_SCHEDULED_RESCAN=true
      - SCHEDULED_RESCAN_CRON=0 2 * * *
    volumes:
      - /mnt/cache/appdata/romm/config:/romm/config
      - /mnt/cache/appdata/romm/assets:/romm/assets #Uploaded saves, states, etc
      - /mnt/cache/appdata/roms:/romm/library
      - /mnt/cache/appdata/romm/resources:/romm/resources #IGDB data
    depends_on:
        romm-db:
            condition: service_healthy
            restart: true

  romm-db:
    image: mariadb:latest
    container_name: romm-db
    restart: unless-stopped
    environment:
        - MARIADB_ROOT_PASSWORD= # Use a unique, secure password
        - MARIADB_DATABASE=romm
        - MARIADB_USER=romm
        - MARIADB_PASSWORD=deinPasswort
    volumes:
        - /mnt/cache/appdata/romm-db:/var/lib/mysql
    healthcheck:
        test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
        start_period: 30s
        start_interval: 10s
        interval: 10s
        timeout: 5s
        retries: 5

Führe folgenden Befehl im selben Ordner wie deine docker-compose.yml aus:

docker compose up -d

Danach erreichst du RomM in deinem Browser unter:

http://deineServerIP:8090

Beim ersten Start wirst du durch die Einrichtung geführt und musst dir einen Adminaccount erstellen.

Bonus: Spiele hochladen und scannen

Du kannst deine ROMs entweder direkt in /mnt/cache/appdata/roms speichern oder per Drag & Drop über die Weboberfläche hochladen. Danach klickst du in der RomM-Oberfläche auf „Scan Library“, und die Metadaten werden automatisch ergänzt.

Erweiterungen und Community

RomM ist mehr als nur ein ROM-Manager. Es gibt Plugins für Playnite, um deine Retro-Spiele nahtlos in deine bestehende Spielesammlung zu integrieren. Für Anbernic-Geräte mit muOS kannst du Spiele direkt über WLAN herunterladen.

Die aktive Community von RomM bietet Unterstützung, teilt Ideen und arbeitet gemeinsam an der Weiterentwicklung des Projekts. Du kannst dich über Discord mit anderen Nutzern austauschen und von deren Erfahrungen profitieren.

Ordnerstruktur für ROMs

        library/
        ├─ roms/
        │  ├─ gbc/
        │  │  ├─ game_1.gbc
        │  │  └─ game_2.gbc
        │  │
        │  ├─ gba/
        │  │  ├─ game_3.gba
        │  │  └─ game_4/
        │  │     ├─ game_4.gba
        │  │     ├─ dlc
        │  │     │  ├─ game_4_dlc_1.7z
        │  │     │  └─ game_4_dlc_2.7z
        │  │     ├─ hack
        │  │     │  └─ game_4_hardmode.rar
        │  │     ├─ manual
        │  │     │  └─ game_4_manual.pdf
        │  │     ├─ mod
        │  │     │  └─ game_4_crazy_mode.zip
        │  │     ├─ patch
        │  │     │  └─ game_4_patch_v1.1.zip
        │  │     ├─ update
        │  │     ├─ demo
        │  │     ├─ translation
        │  │     └─ prototype
        │  │
        │  └─ ps/
        │     ├─ game_5/
        │     │   ├─ game_5_cd_1.iso
        │     │   └─ game_5_cd_2.iso
        │     │
        │     └─ game_6.iso
        │
        └─ bios/
           ├─ gba/
           │  └─ gba_bios.bin
           │
           └─ ps/
              ├─ scph1001.bin
              ├─ scph5501.bin
              └─ scph5502.bin

Alternativstruktur für die Ordner (wie im Video)

        library/
        ├─ gbc/
        │  └─ roms/
        │     ├─ game_1.gbc
        │     └─ game_2.gbc
        │
        ├─ gba/
        │  ├─ roms/
        │  │  ├─ game_3.gba
        │  │  └─ game_4/
        │  │     ├─ game_4.gba
        │  │     ├─ dlc
        │  │     │  ├─ game_4_dlc_1.7z
        │  │     │  └─ game_4_dlc_2.7z
        │  │     ├─ hacks
        │  │     │  └─ game_4_hardmode.rar
        │  │     ├─ manuals
        │  │     │  └─ game_4_manual.pdf
        │  │     ├─ mods
        │  │     │  └─ game_4_crazy_mode.zip
        │  │     ├─ patch
        │  │     │  └─ game_4_patch_v1.1.zip
        │  │     ├─ update
        │  │     ├─ demo
        │  │     ├─ translation
        │  │     └─ prototype
        │  │
        │  └─ bios/
        │     └─ gba_bios.bin
        │
        └─ ps/
           ├─ roms/
           │  ├─ game_5/
           │  │  ├─ game_5_cd1.iso
           │  │  └─ game_5_cd2.iso
           │  │
           │  └─ game_6.iso
           │
           └─ bios/
              ├─ scph1001.bin
              ├─ scph5501.bin
              └─ scph5502.bin

YouTube video implementation

Conclusion

RomM bietet dir eine umfassende Lösung, um deine Spiele und Emulatoren zentral zu verwalten, zu spielen und zu teilen. Mit seiner benutzerfreundlichen Oberfläche, der Unterstützung zahlreicher Plattformen und der Möglichkeit zur individuellen Anpassung ist RomM ein unverzichtbares Tool für jeden Gaming-Enthusiasten.

Starte noch heute mit RomM und bringe Ordnung in deine Spielesammlung! Mit dieser Anleitung bist du startklar! Und falls du doch mal Hilfe brauchst: Die offizielle Dokumentation ist super hilfreich – oder du schaust in die RomM Discord-Community.

The product display was implemented using the affiliate-toolkit WordPress plugin.
Categories: AppsDocker

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

en_US