This is the official documentation for RomM, the beautiful, powerful self-hosted ROM manager and player. Here you'll find everything you need to know about setting up, configuring, and using RomM.
We use uv to build the documentation. To install it, run:
curl -LsSf https://astral.sh/uv/install.sh | shAnd activate it:
uv venv
source .venv/bin/activateThen install python and the required dependencies:
uv python install
uv sync --all-extras --devFinally run the following command to serve the documentation from a local server:
uv run mkdocs serve [-a ip:port] --livereloadWe welcome all types of contributions, from simple typo fixes to new content. If you'd like to contribute, please read our code of conduct.
We use Trunk for linting, which combines multiple linters with sensible defaults and a single configuration file. You'll need to install the Trunk CLI to use it.
curl https://get.trunk.io -fsSL | bashAlternative installation methods can be found here. On commit, the linter will run automatically. To run it manually, use the following commands:
trunk fmt
trunk checkWe use mike to build and deploy documentation versions. Manually deploy a version needs to update and push the specific version (or a new one if creating a new version) with the following command:
uv run mike deploy --push <version> [alias]This will update the gh-pages branch and automatically deploys the version with the fix/update to https://docs.romm.app
Join us on Discord, where you can ask questions, submit ideas, get help, showcase your collection, and discuss RomM with other users.
