Implemented environment variable-based configuration to support both Docker
and traditional Batocera/RetroBat installations with a single codebase.
Key Changes:
- Added RGSX_CONFIG_DIR and RGSX_DATA_DIR environment variables
- Separate /config and /data volumes in Docker mode
- App files now copied into container at build time (not runtime sync)
- Simplified directory structure (removed __downloads concept)
- Maintained 100% backwards compatibility with non-Docker installations
File Structure by Mode:
| Location | Docker Mode | Traditional Mode |
|-----------------|-----------------|----------------------------------- |
| Settings/Config | /config/ | /userdata/saves/ports/rgsx/ |
| Game Lists | /config/games/ | /userdata/saves/ports/rgsx/games/ |
| Images | /config/images/ | /userdata/saves/ports/rgsx/images/ |
| Logs | /config/logs/ | /userdata/roms/ports/RGSX/logs/ |
| ROMs | /data/roms/ | /userdata/roms/ |
Detection:
- Docker mode: Activated when RGSX_CONFIG_DIR or RGSX_DATA_DIR is set
- Traditional mode: Default when no Docker env vars present
Tested and verified working in both modes.