ROMM
Prérequis
- Alpine LXC avec Nesting et keyctl activé (Docker).
Ressource confortable :
- 2 CPU
- 2Gb de RAM
- 16GB de Disque
Il est recommandé d'organiser les fichiers de la façon suivante :
/roms/{platform}/
/bios/{platform}/
Il est également nécessaire d'utiliser des noms de dossier reconnu par ROMM, exemple :
roms/ nes snes n64 gb gbc gba genesis segacd sega32 neogeomvs neo-geo-pocket tg16 pcenginecd wonderswan wonderswan-color
Metadata
Afin d'obtenir les jaquettes etc il est recommandé de :
* créer un compte chez screenscraper * créer une clef API chez steamgriddb
Installation
# apk update && apk upgrade # apk add docker docker-cli-compose # rc-update add docker default # rc-service docker start # mkdir -p /opt/romm /opt/romm/config /opt/romm/data /opt/romm/assets # cd /opt/romm
Fichier de configuration du conteneur :
# vi docker-compose.yml
version: "3.8"
volumes:
mysql_data:
romm_resources:
romm_redis_data:
services:
romm:
image: ghcr.io/rommapp/romm:latest
container_name: romm
restart: unless-stopped
environment:
- TZ=Europe/Madrid
# Database (MariaDB)
- DB_HOST=romm-db
- DB_NAME=romm
- DB_USER=romm-user
- DB_PASSWD=CHANGE_MOI_ROMM_MARIADB_PASSWORD # mot de passe de "romm-user", identique plus bas!!
# Required auth secret (IMPORTANT)
- ROMM_AUTH_SECRET_KEY=CHANGE_MOI_AUTH_SECRET_KEY
# Metadata providers (optionnel mais recommandé)
- SCREENSCRAPER_USER=ton_user
- SCREENSCRAPER_PASSWORD=ton_mdp
# - RETROACHIEVEMENTS_API_KEY=ta_cle
# - STEAMGRIDDB_API_KEY=ta_cle
- HASHEOUS_API_ENABLED=true
volumes:
# Cache / ressources / jobs
- romm_resources:/romm/resources
- romm_redis_data:/redis-data
# Ta bibliothèque ROM (lecture seule)
- /mnt/Emulation/roms:/romm/library/roms:ro
- /mnt/Emulation/bios:/romm/library/bios:ro
# Assets RomM (écriture)
- /opt/romm/assets:/romm/assets
# Config (config.yml)
- /opt/romm/config:/romm/config:ro
ports:
- "8080:8080"
depends_on:
romm-db:
condition: service_healthy
romm-db:
image: mariadb:11
container_name: romm-db
restart: unless-stopped
environment:
- MARIADB_ROOT_PASSWORD=CHANGE_MOI_ROOT_PASSWORD
- MARIADB_DATABASE=romm
- MARIADB_USER=romm-user
- MARIADB_PASSWORD=CHANGE_MOI_ROMM_MARIADB_PASSWORD # mot de passe de "romm-user", identique plus haut!!
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 30s
interval: 10s
timeout: 5s
retries: 10
# vi /opt/romm/config/config.yml
filesystem:
roms: /romm/library/roms
bios: /romm/library/bios
scan:
priority:
metadata:
- "ss"
- "igdb"
- "moby"
artwork:
- "ss"
- "igdb"
- "moby"
region:
- "eu"
- "us"
- "jp"
language:
- "fr"
- "en"
- "es"
media:
- box2d
- screenshot
- marquee
- fanart
- manual
- title_screen
- bezel
emulatorjs:
debug: false
cache_limit: null
disable_batch_bootup: false
disable_auto_unload: false
netplay:
enabled: true
ice_servers:
- urls: "stun:stun.l.google.com:19302"
- urls: "stun:stun1.l.google.com:19302"
- urls: "stun:stun2.l.google.com:19302"
- urls: "turn:openrelay.metered.ca:80"
username: "openrelayproject"
credential: "openrelayproject"
- urls: "turn:openrelay.metered.ca:443"
username: "openrelayproject"
credential: "openrelayproject"
# docker compose up -d