mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-25 16:01:04 +00:00
90 lines
5.1 KiB
Markdown
90 lines
5.1 KiB
Markdown
# 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 ADMIN`(MariaDB 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.
|
||
|
||
## Links
|
||
|
||
- Project: https://github.com/rommapp/romm
|
||
- Documentation: https://docs.romm.app/latest/
|
||
- Docker image: https://hub.docker.com/r/rommapp/romm
|