Herramientas de usuario

Herramientas del sitio


informatica:software:aplicaciones_web:romm

RomM

Aplicación web para la gestión de colecciones de juegos, especialmente ROMs. También permite jugar a esas ROMs desde el propio navegador.

Características

  • Gestiona tu biblioteca de juegos: escanea tus ROMs, agrégales etiquetas, carátulas y metadatos automáticamente con fuentes como IGDB o MobyGames.
  • Soporte para más de 400 plataformas (consolas, micro ordenadores, etc)
  • Juega directamente desde el navegador: gracias a EmulatorJS, juega sin instalar nada adicional.
  • Self-hosted y abierto: tú mismo alojas la aplicación (por ejemplo con Docker), mantienes el control de tus datos y puedes extenderlo o integrarlo con otras herramientas.
  • Aplicaciones nativas e integraciones para jugar desde donde queramos: Playnite (Windows), Argosy Launcher (Android) o consolas portátiles con CFW (como TrimUI).

Instalación

Docker

Ejemplo de fichero Docker Compose:

version: "3"

volumes:
  mysql_data:
  romm_resources:
  romm_redis_data:

services:
  romm:
    image: rommapp/romm:latest
    container_name: romm
    restart: unless-stopped
    environment:
      - DB_HOST=romm-db
      - DB_NAME=romm # Should match MARIADB_DATABASE in mariadb
      - DB_USER=romm-user # Should match MARIADB_USER in mariadb
      - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb
      - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32`
      - SCREENSCRAPER_USER= # These are the recommended metadata providers
      - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#screenscraper
      - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#retroachievements
      - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#steamgriddb
      - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#hasheous
    volumes:
      - romm_resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.)
      - romm_redis_data:/redis-data # Cached data for background tasks
      - /path/to/library:/romm/library # Your game library. Check https://docs.romm.app/latest/Getting-Started/Folder-Structure/ for more details.
      - /path/to/assets:/romm/assets # Uploaded saves, states, etc.
      - /path/to/config:/romm/config # (Optional) Path where config.yml is stored
    ports:
      - 80:8080
    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-user
      - MARIADB_PASSWORD=
    volumes:
      - mysql_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      start_period: 30s
      start_interval: 10s
      interval: 10s
      timeout: 5s
      retries: 5

Estructura de directorios

Si queremos que RomM detecte automáticamente nuestra bibilioteca de ROMs, podemos optar por dos organizaciones:

  • Estructura A
  • Estructura B

Si no existe ninguna estructura de directorios, los ficheros se pueden subir desde la interfaz web de RomM y la aplicación automáticamente creará la Estructura A.

Estructura A

La recomendada. Tanto ROMs como BIOS tienen sus directorios dedicados.

  • /roms/<PLATAFORMA>/
  • /bios/<PLATAFORMA>/

Ejemplo:

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

Estructura B

Cada plataforma tiene su propia carpeta donde se almacenan tanto las ROMs como las BIOS:

  • /<PLATAFORMA>/roms
  • /<PLATAFORMA>/bios

Ejemplo:

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
        │  │     ├─ 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
        │  │
        │  └─ bios/
        │     └─ gba_bios.bin
        │
        └─ ps/
           ├─ roms/
           │  ├─ game_5/
           │  │  ├─ game_5_cd_1.iso
           │  │  └─ game_5_cd_2.iso
           │  │
           │  └─ game_6.iso
           │
           └─ bios/
              ├─ scph1001.bin
              ├─ scph5501.bin
              └─ scph5502.bin

Configuración inicial

Al entrar por primera vez a http://localhost:8080 (o la IP y puerto que hayamos configurado), se nos presentará un asistente para elegir:

  • Estructura de la biblioteca de roms (ver sección más abajo)
  • Creación del usuario administrador.
  • Orígenes de metadatos para completar automáticamente información sobre nuestras roms.

Subir roms

informatica/software/aplicaciones_web/romm.txt · Última modificación: por tempwin