Update
First read the release notes, then:
docker compose pull
docker compose up -dTwo steps: install Docker, the free tool that runs ROMKADE Manager on your computer, then start ROMKADE Manager.
Docker already installed? Go straight to step 2. Another system: macOS, Windows or Linux.
A single image for macOS, Windows and Linux, Intel/AMD and ARM processors · version 0.4.0 of 18 October 2026.
Version française (reference version) · Versión en español
sudo, knowing the security implications of the docker group.Four steps, about ten minutes the first time.
In a terminal (Terminal on macOS and Linux, PowerShell on Windows), these two commands should print a version number:
docker --version
docker compose version“Cannot connect to the Docker daemon”? Docker Desktop is not running: see the common problems below.
Available version: 0.4.0 of 18 October 2026 · what's new
These commands create a romkade folder, download the official compose.yaml file of the latest release into it, then start ROMKADE Manager in the background.
mkdir romkade && cd romkade
curl -fsSLO https://github.com/RomKade/romkade-manager/releases/latest/download/compose.yaml
docker compose up -dmkdir romkade; cd romkade
curl.exe -fsSLO https://github.com/RomKade/romkade-manager/releases/latest/download/compose.yaml
docker compose up -dThe first start downloads the images (a few hundred MB). Linux without the docker group: add sudo before docker compose. You can read the file before running it: compose.yaml, release notes.
Open localhost:8765 (new tab) in your browser. The interface can only be reached from this computer: this is on purpose, it controls your console.
romkade-data Docker volume. They survive updates and docker compose down.ROMKADE_PORT=8780 docker compose up -d (PowerShell: $env:ROMKADE_PORT=8780; docker compose up -d), then open the chosen port.docker compose down in the romkade folder.Run them in the folder that contains compose.yaml. Full reference: docker compose (new tab).
| Command | Effect |
|---|---|
docker compose ps | Status of the services: running, stopped, restarting. |
docker compose logs -f | Live logs (Ctrl+C stops following, the service keeps running). |
docker compose pull | Downloads the new version of the images, without restarting anything. |
docker compose up -d | Starts, or restarts with the updated images. Volumes are kept. |
docker compose down | Stops and removes the containers. Volumes, and so your data, are kept. |
The -v option also deletes the volumes: catalog, copies of saves and settings would be lost. Only use it to erase everything on purpose, after copying your data.
First read the release notes, then:
docker compose pull
docker compose up -dCopy of the data volume into an archive in the current folder, then restore:
docker compose down
docker run --rm -v romkade_romkade-data:/data -v "$PWD":/backup alpine tar czf /backup/romkade-data.tgz -C /data .
docker compose up -dRestore: same command with tar xzf /backup/romkade-data.tgz -C /data, service stopped. PowerShell: replace "$PWD":/backup with "${PWD}:/backup".
docker compose down, then delete the romkade folder. The data volume stays until you delete it yourself (docker volume rm romkade_romkade-data).
A container does not automatically have access to the local network, devices or your system's keychain. Bluetooth, sound and controllers are set up on the console over the network: the host computer does not need Bluetooth.
| Need | How it is handled |
|---|---|
| Reach the console on the local network (SSH, RetroArch network commands) | Every feature goes through it. The container must be able to reach the console's IP address. |
| Store secrets (console password, API keys) | In the container, a secrets.json file in the data volume, readable only by its owner (the system keychain cannot be reached from Docker). |
| Smart search (Typesense engine) | A second service of the same compose.yaml file, with no published port: only ROMKADE Manager can reach it. |
| Access from a phone | Not with Docker: the interface is only open to the host computer (127.0.0.1), for security. Password-protected access from a phone exists in the install from source (macOS). |
Tested with every release: full run on Linux (Intel/AMD and ARM) with a simulated console, and on macOS (Docker Desktop, Apple Silicon). Windows: file and PowerShell commands checked; Docker Desktop for Windows runs the same Linux image. A problem on your system? Tell us.
--privileged, network_mode: host or a mount of /var/run/docker.sock to the provided file without a specific technical reason.Docker Desktop is not running (macOS, Windows) or the Docker service is stopped (Linux). Start it and wait until the engine says it is running, then repeat step 1.
WSL 2 or virtualization is not enabled. Follow Microsoft's WSL guide (new tab), restart, then start Docker Desktop again.
Your user has no rights on Docker. Use sudo or follow the post-installation steps (new tab).
Check that the console is on, connected to the same Wi-Fi and that its SSH server is running. The connection test in Settings checks six steps (network, SSH server, console key, credentials, command on the console, ROMs folder) and tells you which one fails.
macOS blocks local network access for the app concerned. Open System Settings → Privacy & Security → Local Network and allow it.
Going further: Full documentation (nouvel onglet)