Installer RomM avec Docker
RomM

Installer RomM avec Docker

Table des matières

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.
Cette application a été suggérée par Elise, membre du Discord belginux.

Si vous connaissez EmulatorJS, RomM devrait vous ravir car maintenant EmulatorJS est inclus dedans.

Un beau manager de ROMs avec la possibilité de jouer directement à partir de celui-ci, que demander de mieux?

Quoi? Un tutoriel? Et bien le voici! 👍

⚡Caractéristiques

  • Analyse votre bibliothèque de jeux existante et l'enrichit avec les métadonnées d'IGDB et de MobyGames
  • Prend en charge un grand nombre de plates-formes
  • Jouez à des jeux directement depuis le navigateur en utilisant EmulatorJS
  • Partagez votre bibliothèque avec un ami tout en limitant l'accès et les autorisations
  • Prend en charge les schémas de dénomination MAME, Nintendo Switch et Sony Playstation
  • Détecte et regroupe les jeux multifichiers (par exemple les jeux PS1 avec plusieurs CD)
  • Peut analyser les balises dans les noms de fichiers (par exemple (E), (USA), (rev v1), etc.)
  • Afficher, télécharger, mettre à jour et supprimer des jeux depuis n'importe quel navigateur Web moderne

Prérequis

Pour commencer il vous faudra une clé API afin que RomM puisse récupérer les métadonnées des ROMs.

Rendez-vous sur ce site:

Video Game Database - MobyGames
The oldest, largest and most comprehensive video game database covering 276,173 games and 1 million game industry professionals.

Créez un compte, vous allez recevoir un lien par mail pour valider celui-ci.

Une fois votre compte confirmé, en haut à droite du site Moby Games, allez sur votre profil:

Cliquez sur API:

Remplissez sommairement le formulaire:

  • Application Name => nommez cela comme vous voulez.
  • Description of your application or use case => indiquez une description.
  • Ne cochez pas I intended to use the MobyGames API for a commercial application, qui veut dire "J'avais l'intention d'utiliser l'API MobyGames pour une application commerciale".

Par contre cochez I agree to the terms of access to the MobyGames API, "J'accepte les conditions d'accès à l'API MobyGames" et cliquez sur Submit:

Juste à côté de API key, copiez la clé commençant par moby_ et mettez-là de côté précieusement:

Dans votre terminal, tapez cette commande afin de créer un clé:

openssl rand -hex 32

Mettez celle clé de côté précieusement également.


L'installation

  1. On va créer le dossier romm, adaptez suivant votre configuration ou habitudes:
mkdir /srv/appdata/romm
  1. Créez votre docker-compose.yml:
version: "3"
services:
  romm:
    image: docker.io/rommapp/romm:latest
    container_name: romm
    environment:
      - DB_HOST=romm_db
      - DB_PORT=3306
      - DB_USER=romm-user
      - DB_NAME=romm # Should match the MYSQL_DATABASE value in the mariadb container
      - DB_PASSWD=db-password
     # - IGDB_CLIENT_ID=ID-KEY
     # - IGDB_CLIENT_SECRET=API-key
      - MOBYGAMES_API_KEY=moby_mOJ2QufhuLsNUZ13U3nIfaJCXpS
      - ROMM_AUTH_SECRET_KEY=addeac7caa639a8a0962ada27fcc8d8400571557c9c3b4168369ce08a43efc0d # Generate a key with `openssl rand -hex 32`
      - ROMM_AUTH_USERNAME=collector # default: admin
      - ROMM_AUTH_PASSWORD=admin # default: admin
    volumes:
      - /srv/appdata/romm/library/:/romm/library
      - /srv/appdata/romm/resources:/romm/resources # [Optional] Path where roms metadata (covers) are stored
      - /srv/appdata/romm/config:/romm/config # [Optional] Path where config is stored
      - /srv/appdata/romm/logs:/romm/logs # [Optional] Path where logs are stored
      - /srv/appdata/romm/assets:/romm/assets
    ports:
      - 8060:8080
    depends_on:
      - romm_db
    restart: always
  romm_db:
    image: docker.io/library/mariadb:latest
    container_name: romm_db
    environment:
      #      - PUID=1000
      #      - PGID=1000
      #      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=db-root
      - MYSQL_DATABASE=romm
      - MYSQL_USER=romm-user
      - MYSQL_PASSWORD=db-password
    volumes:
      - /srv/appdata/romm/mariadb:/var/lib/mysql
    restart: always

Veillez à modifier les points suivants:

  • MOBYGAMES_API_KEY= indiquez juste après le = la clé API crée sur MobyGames.
  • ROMM_AUTH_SECRET_KEY= indiquez juste après le = la clé obtenue avec la commande openssl rand -hex 32.
  • ROMM_AUTH_USERNAME=collector => modifier collector par le nom d'utilisateur que vous souhaitez pour votre compte utilisateur.
  • ROMM_AUTH_PASSWORD=admin => modifier admin par le mot de passe que vous souhaitez pour votre compte utilisateur.
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8060 par défaut:
http://ip:8060/

Première connexion

Sur la page d'accueil, indiquez votre Username et Password choisi. Cliquez sur Login pour vous connecter:

Vous arrivez sur le page principale de RomM:


Ajouter une ROM

Cliquez sur l'onglet Library se trouvant dans la colonne de gauche, ensuite cliquez sur Upload roms:

dfdf

Vous aurez une petite fenêtre qui va apparaître:

Dans mon exemple je vais ajouter Super Mario. Il faudra indiquer la plateforme sur laquelle était sortie le jeu en cliquant sur la flèche et choisir Nintendo Entertainement System:

Maintenant choisissez la ROM en elle-même en cliquant sur + ADD ROMS et cliquez sur UPLOAD:

Patientez un peu et la voilà ajoutée:


Comment jouer?

Très simplement. Cliquez sur le bouton Play sous le jeu pour le lancer:

Cliquez sur PLAY:

Et c'est partiiiiiiiiiiiiiiiiiiiiiiiiiiii!


Activer le mode sombre ou le mode clair

Dans Settings, Control Panel, dans THEME, sélectionnez votre préférence:


Ou trouvez des ROMs?

Au palais de justice le plus proche.

Je ne peux évidemment pas fournir de ROMs car c'est... Heu. Pas conseillé du tout.

Illégal.

Une simple recherche sur votre moteur de recherche préféré devrait suffire.

Bon jeu!

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.