A lightweight Docker wrapper for Retro Game Sets Xtra (RGSX) that provides an easy way to run RGSX on NAS, servers, or any Docker-capable hardware with the official web interface.
This repository only contains Docker configuration files. The RGSX application is automatically pulled from the upstream repository during the Docker build process, ensuring you always have access to the latest features and updates without manual intervention.
RGSX is a Python application developed using Pygame for graphics, created for the community by RetroGameSets. It is completely free.
Key Features:
- Download retro games from multiple sources (myrient, 1fichier, etc.)
- Web-based interface for remote management
- Download history and queue management
- Multi-select batch downloads
- Search and filter across all platforms
- Multilingual support
- 1fichier premium API key support
For the full RGSX application (Batocera/Retrobat installation), visit the upstream repository.
Support: https://discord.gg/Vph9jwg3VV
This project includes support for running RGSX in a Docker container with the official web interface.
Pull the latest image from GitHub Container Registry:
docker pull ghcr.io/brownster/rgsx-docker:latestRun the container:
docker run -d --name rgsx \
-p 8080:8080 \
-v /path/to/your/roms:/roms \
-v /path/to/your/saves:/saves \
ghcr.io/brownster/rgsx-docker:latestAccess the web UI at http://localhost:8080
If you prefer to build from source:
docker build -t rgsx .The easiest way to run the application with Docker is to use Docker Compose. A docker-compose.yml file is provided for this purpose.
-
Configure the volumes: Open the
docker-compose.ymlfile and edit thevolumessection to map your local ROMs and saves directories to the container's/romsand/savesdirectories.volumes: # Point these to your NAS paths - /path/to/your/roms:/roms - /path/to/your/saves:/saves
-
Start the container: Run the following command to start the container in the background:
docker-compose up -d
The web UI will be available at http://<your-docker-host>:8080.
ghcr.io/brownster/rgsx-docker:latest- Latest stable releaseghcr.io/brownster/rgsx-docker:v1.0.0- Specific version (recommended for production)
The following environment variables can be used to configure the Docker container:
| Variable | Description | Default |
|---|---|---|
TZ |
Timezone for the container | UTC |
RGSX_MODE |
Set to web to enable the web UI |
web |
WEB_PORT |
Port for the web UI | 8080 |
ONEFICHIER_API_KEY |
Pre-seed 1fichier API key | - |
RGSX_DISABLE_UPDATER |
Disable automatic updates | 1 |
To run the container as a specific user/group, set the user: field in your compose file.
RGSX now includes a web-based user interface that allows you to manage your retro game collection from a web browser.
- Browse platforms and games: View your entire collection of platforms and games.
- Download games: Start and monitor game downloads directly from the web UI.
- View download history: See a list of all your downloaded games.
- Search: Quickly find games across all your platforms.
- 1Fichier API Key: Configure your 1Fichier API key.
When running RGSX with Docker, the web UI is enabled by default. You can access it at:
http://<your-docker-host>:8080
On first startup, the web UI will:
- Automatically download the platform/game database from upstream
- Create necessary directories in
/saves/ports/rgsx/ - Be ready to browse and download games
If you have a 1fichier premium account, you can provide your API key in two ways:
Option 1: Environment Variable (Recommended)
docker run -d --name rgsx \
-e ONEFICHIER_API_KEY="your-api-key-here" \
-p 8080:8080 \
-v /path/to/roms:/roms \
-v /path/to/saves:/saves \
ghcr.io/brownster/docker-rgsx:latestOption 2: Manual File
Create the file /saves/ports/rgsx/1fichierAPI.txt with your API key.
Set RGSX_MODE=gui to launch the SDL interface under Xvfb with VNC access:
docker run -d --name rgsx \
-e RGSX_MODE=gui \
-p 5900:5900 \
-p 6080:6080 \
-v /path/to/roms:/roms \
-v /path/to/saves:/saves \
ghcr.io/brownster/docker-rgsx:latestAccess via VNC on port 5900 or noVNC (web) on port 6080.
Contributions to the Docker wrapper are welcome!
- Check container logs:
docker logs <container-name> - Open an issue on this repository with details
Report bugs to the upstream RGSX repository.
- Fork this repository
- Create a branch:
git checkout -b feature/your-feature - Test your changes
- Submit a pull request
This Docker wrapper is free and open source. The RGSX application is developed by RetroGameSets and follows its own license terms.
Repository: https://github.com/Brownster/docker-RGSX Upstream RGSX: https://github.com/RetroGameSets/RGSX Support: https://discord.gg/Vph9jwg3VV