Files
appstore/apps/romm
..
2026-08-20 13:06:50 +00:00
2026-07-11 01:41:50 +08:00
2026-07-11 01:41:50 +08:00

RomM

产品介绍

RomM 是一个自托管的复古游戏库管理器。它可以扫描游戏文件、补充封面和元数据、管理存档与状态,并通过浏览器中的 EmulatorJS 或 Ruffle 直接运行受支持的游戏。

主要功能

  • 管理 400 多种游戏平台的游戏库。
  • 从 ScreenScraper、RetroAchievements、SteamGridDB 和 Hasheous 获取元数据。
  • 支持浏览器游玩、存档、状态、截图、补丁和多用户权限。
  • 内置 Valkey 缓存和任务队列,支持使用 1Panel 管理的 MariaDB 或 PostgreSQL 持久化业务数据。

访问说明

  • 默认 Web 端口:8080
  • 容器内部端口:8080
  • 首次访问会进入设置向导,第一个创建的用户自动成为管理员。
  • 基础扫描不强制要求元数据服务凭据,但建议至少配置一个元数据来源。
  • 安装前需要先在 1Panel 应用商店安装并启动 MariaDB 或 PostgreSQL 服务。

数据库选择

安装表单可以选择以下 1Panel 数据库服务:

  • MariaDB:使用 RomM 的 mariadb 驱动和服务实际端口。
  • PostgreSQL:使用 RomM 的 postgresql 驱动和服务实际端口。

1Panel 会在所选服务中创建独立的 RomM 数据库和用户,并将主机、端口、数据库名、用户名和密码注入容器。不要填写数据库服务的 root 或管理员账号作为 RomM 用户。

5.1.0 开始,数据库迁移会创建触发器。1Panel 的默认 MariaDB 配置未启用 binary logging,无需额外处理。如果自行启用了 binary logging,请在升级前使用数据库管理员账号设置 log_bin_trust_function_creators=1,或向 RomM 数据库用户授予 BINLOG ADMINMariaDB 10.5+)或 SUPER 权限;不要将管理员凭据填入 RomM 安装表单。

数据持久化

安装表单中的“数据目录”包含:

  • romm/:游戏库、资源、上传的存档与截图以及 config.yml
  • redis/:镜像内置 Valkey 的缓存与后台任务数据。

RomM 需要在部分目录之间创建硬链接,因此本适配将整个 /romm 挂载为同一个文件系统。游戏文件应放入 romm/library/roms/ 下符合官方目录规范的位置。

升级前建议备份整个数据目录,并通过 1Panel 单独备份所选数据库。卸载应用不会删除绑定目录中的用户数据。升级到 5.1.0 后,如果反向代理或 CDN 缓存了响应,请清除一次缓存,避免旧版 index.html 引用已删除的前端资源而出现空白页面。

元数据服务

  • HASHEOUS_API_ENABLED 默认启用,不需要账号。
  • ScreenScraper 用户名和密码为可选项。
  • RetroAchievements 和 SteamGridDB API Key 为可选项。
  • 元数据服务可能受网络、地区限制或第三方服务条款影响。

安全与资源说明

  • 安装表单会生成独立数据库用户密码和固定的 RomM 会话签名密钥。
  • 不要在升级时随意更换数据库服务、密码或签名密钥,否则可能导致数据库连接失败或现有登录会话失效。
  • RomM 容器内部以 root 启动多个进程,但不需要特权模式、Docker Socket 或 host 网络。
  • 对公网开放时,建议通过 1Panel 网站反向代理启用 HTTPS。
  • 游戏文件、固件和 BIOS 可能受版权限制,请仅使用有权持有和运行的内容。
  • 标准镜像包含浏览器模拟器,镜像体积较大,首次安装需要较长拉取时间。

版本说明

  • 5.1.0:固定的最新稳定版本,适合需要可重复部署的用户。
  • latest:跟随官方最新稳定镜像,升级前应阅读上游发布说明并备份数据。

项目采用 AGPL-3.0 许可证。

Introduction

RomM is a self-hosted retro game library manager. It scans and enriches game collections, manages saves and states, and can run supported games in the browser through EmulatorJS or Ruffle.

Features

  • Manage and enrich retro game libraries for more than 400 platforms.
  • Play supported games in the browser and manage saves, states, screenshots, and patches.
  • Use optional metadata providers including ScreenScraper, RetroAchievements, SteamGridDB, and Hasheous.
  • Select a 1Panel-managed MariaDB or PostgreSQL service during installation.
  • Keep application data and the built-in Valkey cache persistent across upgrades while backing up the selected database separately.

Upgrade notes

RomM 5.1.0 migrations create database triggers. The default 1Panel MariaDB configuration has binary logging disabled and needs no extra privileges. If you enabled binary logging, use a database administrator account before upgrading to set log_bin_trust_function_creators=1, or grant the RomM database user BINLOG ADMIN (MariaDB 10.5+) or SUPER. Do not configure RomM itself with database administrator credentials.

After upgrading to 5.1.0, purge any reverse-proxy or CDN cache once. A stale cached index.html can reference frontend bundles that the new image no longer contains and result in a blank UI.