导读: 谁的硬盘里没存过几个 GBA、FC 的 ROM 呢?文件堆了一堆,封面没几张,每次想玩都得翻半天目录。今天介绍一个开源项目 RomM,把 NAS 变成你的私人游戏库,浏览器点开就能玩,整理收藏一气呵成。
我猜很多人的老游戏 ROM 现在还躺在某个硬盘的角落里,命名五花八门——rom1.gba、最终幻想6.gba、ff6.gba……光找游戏就得花十分钟,更别说还要去网上找封面、写介绍。
Steam 之所以舒服,是因为它帮你做完了这些琐事:统一的封面、简介、截图、成就,一键打开就玩。
那老游戏呢?能不能也享受一下这种待遇?
能。今天要聊的 RomM,就是干这个事的——一个开源、自托管的 ROM 游戏库管理系统。它的目标很直白:把 NAS 里的 ROM 文件,整理成一个类 Steam 的网页界面。

别以为它就是个"花里胡哨的 ROM 浏览器",它实际干的事比想象多。
它会扫描你 NAS 上的游戏库,然后通过 IGDB、ScreenScraper、Hasheous、RetroAchievements、SteamGridDB 等一堆开源数据源,自动帮你补全这些信息:
刮削完之后的结果什么样? 想象一下你打开一个网页,左边是按平台分类的游戏列表,右边是带封面的卡片视图,点进去有详细介绍、截图、版本信息——基本上就是个老游戏版的 Steam。
除了管理之外,它还支持:
光是"浏览器直接开玩"这一条,对很多懒得折腾本地模拟器的朋友来说,就已经值回票价了。
以飞牛 NAS 为例,通过 Docker Compose 部署最省事。其他品牌(群晖、绿联、极空间)的玩法基本一致,只是后台界面叫法不同。

新建项目

如图填写信息:

services:
romm:
image: rommapp/romm:latest
container_name: romm
restart: unless-stopped
depends_on:
romm-db:
condition: service_healthy
environment:
DB_HOST: romm-db
DB_NAME: romm
DB_USER: romm
DB_PASSWD: romm
ROMM_DB_DRIVER: mariadb
# SSH 里执行 openssl rand -hex 32,生成 64 位密钥填到下面
ROMM_AUTH_SECRET_KEY: "CHANGE_THIS_64_CHAR_SECRET"
TZ: Asia/Shanghai
HASHEOUS_API_ENABLED: "true"
ports:
- "8180:8080"
volumes:
# RomM 运行数据:放系统卷
- ./resources:/romm/resources
- ./redis-data:/redis-data
- ./assets:/romm/assets
- ./config:/romm/config
# 游戏资源:建议放独立的大容量共享文件夹
- ./Games/roms:/romm/library/roms
- ./Games/bios:/romm/library/bios
romm-db:
image: mariadb:latest
container_name: romm-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: romm
MARIADB_DATABASE: romm
MARIADB_USER: romm
MARIADB_PASSWORD: romm
volumes:
# 注意权限问题,如果建库失败先查这个目录权限
- ./database:/var/lib/mysql
healthcheck:
test:
- CMD-SHELL
- 'mariadb -h 127.0.0.1 -uromm -promm -D romm -e "SELECT 1;" >/dev/null 2>&1 || exit 1'
start_period: 30s
interval: 10s
timeout: 5s
retries: 5几个必须改的地方,别直接复制粘贴:
打开飞牛的 ,把上面的 docker-compose.yml 粘进去,点启动就行。
镜像有点大,第一次拉取会比较慢,耐心等。

部署完成,浏览器打开 NAS_IP:8180,进入初始化流程。

这里有个坑要特别提醒:
平台选择那一步,千万别贪心勾全选!
官方文档明确说过,平台目录必须匹配对应的 slug。如果你全勾了,/share/Games/roms 下面会瞬间多出几百个空目录,File Station 看着头大,扫库也会很慢。
我自己的做法是先用免费平台试水:
跑通了再按需加。后续要加平台,去面板里也能加,不用一口气配齐。

2.创建管理员账户
再下一步元数据源直接跳过(默认留空就行,后面我们手动配)。
初始化完成后登录,右上角进账户设置 → 「元数据源」。这里才是让 RomM 真正发挥威力的开关。
官方推荐的是 Hasheous + IGDB + ScreenScraper 这套组合,但新手建议先只开 Hasheous,因为它不需要 API Key。
Hasheous 是什么? 它是个用 ROM 哈希值匹配游戏的元数据源——你给它一个文件,它算哈希,然后告诉你是哪个游戏、配上对应的标题、封面、简介。整个过程不需要你注册任何东西、不需要任何 Key,开箱即用。
我自己的方案是:Hasheous 为主,IGDB 兜底补充。IGDB 需要 Twitch 的 Client ID,配置麻烦一点,但封面质量是真的高。
数据源配好,就能上传游戏了。
两种:

传完别忘了在面板里点一下「扫描」,RomM 才会去读这些文件。
批量上传几百个文件,扫描和元数据匹配会跑个十几分钟,这是正常现象,别着急。
这块必须强调一下:只下免费、合法的资源。 一些推荐渠道:
刮削完打开平台,能看到一整排带封面的游戏卡,那种感觉真的像在逛老游戏博物馆。
访问站点:https://hh.gbdev.io
- 浏览器内置模拟器直接运行游戏
- 每个作品详情页,可单独下载 ROM(gb/gbc/gba/nes)、截图、元数据
- 分类、搜索、标签筛选
1.GB/GBC 资源库
git clone https://github.com/gbdev/database2.GBA Homebrew 资源库
git clone https://github.com/gbadev-org/games3.NES Homebrew 资源库
git clone https://github.com/nesdev-org/homebrew-db
git clone --depth 1 https://github.com/gbdev/database把文件放到./Games/roms 目录
点进任意一个游戏,底部会跳出一行工具栏——存档、读档、画面设置、Reset,基本就是模拟器该有的都有。
游戏会自动全屏,体验跟本地模拟器基本一致。带成就的老游戏还能在网页里跳成就提示,挺有意思的。
RomM 还支持模拟器串流和多人联机,操作不复杂:
之后打开支持多人的游戏,底部工具栏会出现一个网络图标,点一下就能建房间,喊朋友来联机。
这块官方 wiki 写得很详细,照着抄就行。
RomM 这种项目就是典型的 "用过就回不去"。
之前我的老 ROM 就是一堆乱七八糟的文件夹,现在打开 NAS 那个页面,按平台分类、按收藏排序、点开就玩,体感直接拉到 Steam 那个水平。
它不是那种你必须立刻就装的工具,但如果你硬盘里躺着一堆老游戏 ROM,又懒得一个个整理,强烈建议试一把。
折腾中遇到问题,评论区交流。
拓展阅读:
• RomM 官方文档:https://docs.romm.app/• GBDev Homebrew 档案库:https://gbdev.io/
更新时间:2026-10-13
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302035593号