A retro-styled web control center for Batocera Linux. Manage ROMs, monitor live stats, browse files, open a secured terminal, and deploy it your way: Remote, Docker, or Native.
git clone https://github.com/DavidSchuchert/Batocera-WebDashboard-Pro.git && cd Batocera-WebDashboard-Pro && ./install.sh
System Dashboard
Browse up to 5,000 games with cover art, developer info, and descriptions from gamelist.xml. Instant multi-word search across all systems.
Real-time monitoring of CPU, RAM, and temperature via Server-Sent Events — updated every 2 seconds without polling.
Edit emulator settings and batocera.conf directly in the browser. Shaders, video modes, per-system options.
Upload ROMs, download saves, and delete files inside /userdata. Native uploads are fixed in v2.0.2, with traversal attempts blocked outside the safe path.
Shell access right in your browser. Dangerous commands (rm -rf /, mkfs, fork bombs) are blocked by an allowlist.
Stream EmulationStation, boot, and syslog output in real time. Switch sources without leaving the page.
Fully responsive layout — works on phone, tablet, and desktop. Control your console from the couch.
Stop a running game, adjust volume, reboot, or shut down your console with a single button press.
Remote
Run on your Mac or PC and manage Batocera over SSH. The installer auto-detects your setup and keeps Remote mode lightweight for local network control.
git clone https://github.com/DavidSchuchert/Batocera-WebDashboard-Pro.git
cd Batocera-WebDashboard-Pro && ./install.sh
Access: http://localhost:8989
Docker
Run Remote mode in a container on your Mac, PC, or server. No local Python dependency setup required, and v2.0.2 refreshes the setup and update flow.
cp docker/.env.example docker/.env
docker compose --env-file docker/.env --project-directory docker -f docker/docker-compose.yml up -d
Set BATOCERA_HOST, BATOCERA_USER, and BATOCERA_PASS in docker/.env.
Access: http://localhost:8080
Native
Installs directly on Batocera and starts automatically on boot. The installer pushes everything via SSH from your Mac/PC, with v2.0.2 fixing uploads inside /userdata.
# Pick "Native" in the installer and enter
# your Batocera's IP — that's it.
Access: http://batocera.local:8989
The installer auto-detects your OS (Batocera, macOS, Linux, WSL, Git Bash), lets you choose Remote, Docker, or Native interactively, and updates all modes with ./install.sh --update. Force Docker updates with BATOCERA_MODE=docker ./install.sh --update.
Full install guide →
Full Walkthrough
ROM Library
Game Detail
File Manager
Config Editor
Terminal
Mobile View
Cover art shown is placeholder art generated from game metadata. On a real Batocera system, Scraper automatically downloads official cover art from ScreenScraper or TheGamesDB into your /userdata/roms/*/images/ folders.