Retrom

Retrom

Docker app from grtgbln's Repository

Overview

Retrom is a centralized game library management service that allows you to host your games on a single device, and connect clients on any amount of other devices to (un)install/download and subsequently launch said games locally.

Banner

A centralized game library/collection management service with a focus on emulation. Configure once, play anywhere


Check out the quick start guide or the full wiki

Download the latest Client


Join the Discord server:

discord-badge

Table of Contents

Overview

Retrom is a centralized game library management service that allows you to host your games on a single device, and connect clients on any amount of other devices to (un)install/download and play them when and where you want to! Think of it as a sort of self-hosted Steam for your DRM-free game library.

Core Features

  • Host your own cloud game library service
  • Scan your filesystem for games/platforms and automatically add them to your library
  • Install/uninstall and play games from the service on any amount of desktop clients.
    • Support for Windows, MacOS, and Linux!
  • Access your library from anywhere with the web client.
  • Unify your emulation library with third party libraries
    • Steam
    • GoG (soon™)
    • Native PC / Linux / MacOS games (experimental)
  • Manage emulator profiles on a per-client basis, stored on the server for easily sharing configurations between devices or restoring them after a reinstall.
  • Launch all your games across any amount of emulators or platforms via your pre-configured profiles from a single library interface.
  • Automatically download game metadata and artworks from supported providers to showcase your library with style!

Screenshots

Home Screen

Game Details

In Game

Roadmap

[!TIP] The below list is often out-of-date, see the full roadmap here

  • Basic server functionality
    • Scan filesystem for library items
    • Add/remove library items
    • Edit library items
    • Download metadata
      • IGDB provider
      • SteamGridDB provider
    • Cloud save games / states / emulator NANDs
      • Built-in emulators
      • Standalone emulators
    • (Multi-)User authentication
    • Publish server binaries, as an alternative to Docker
  • Basic client functionality
    • View library items
    • Edit library metadata and artworks
    • Trigger library update jobs
      • Scan filesystem for new entries
      • Download/update metadata for new entries
    • Manage game files
      • rename
      • delete
      • set default (for launching via emulators)
    • Grid view (as opposed to default list view)
    • Fullscreen mode + controller support
  • Web (browser) client functionality (in addition to Basic functionality)
    • Download games
    • In-browser emulation via EmulatorJS
  • Desktop client functionality (in addition to Basic functionality)
    • Install/uninstall games
    • Configure locally available emulators
    • Configure multiple profiles per-emulator
    • Set default profiles per-platform
    • Launch games
    • Built-in emulator profiles for popular emulators

Install Retrom on Unraid in a few clicks.

Find Retrom in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Retrom Review the template variables and paths Click Install

Requirements


        This application expects a `config.json` file to be present in the "Config Data" directory. See documentation: https://github.com/JMBeresford/retrom/blob/main/README.md#docker-recommended
        

        This application requires a separate Postgres database. Configuration data for the Postgres container (host, username, password, database name) should be updated in the `config.json` file.
    

Download Statistics

550
Total Downloads

Details

Repository
ghcr.io/jmberesford/retrom-service:latest
Last Updated2024-10-23
First Seen2024-10-10

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Access web interface

Target
3000
Default
3000
Value
3000
Service PortPorttcp

Allow external clients to connect to server

Target
5101
Default
5101
Value
5101
LibraryPathrw

Library of games

Target
/library
Config dataPathrw

Config data for application

Target
/config
Default
/mnt/user/appdata/retrom/config
Value
/mnt/user/appdata/retrom/config