Data and privacy¶
What stays on your computer¶
Everything ROMKADE Manager stores is on your computer.
With Docker, in the volume romkade-data (mounted at /data in the container), plus typesense-data for the
search index. From the source code (macOS), in ~/Library/Application Support/AnbernicGameManager/.
| Item | Content |
|---|---|
settings.json |
Connection settings (no password) |
catalog.sqlite3 |
Catalog, play time, favorites, descriptions, controls |
save-backups/ |
Copies of your saves, one dated folder per copy |
staging/ |
Games being prepared for copying |
cache/boxart/ |
Downloaded box art |
llm.json, play_settings.json |
AI choice, play time alert |
secrets.json |
Docker only: console password and API keys, readable only by the container's account |
Secrets (console password, AI and YouTube API keys):
- with Docker, in
secrets.jsonin the volume: the system keychain cannot be reached from a container. Do not share a copy of the volume; - from the source code, in the macOS keychain, under the service name
anbernic-game-manager.
The API never returns them. The data folder keeps the project's former name, Anbernic Game Manager, so that existing installations keep their data.
What goes over the network¶
- To the console, over SSH on your local network: reading the card, and the changes you start.
- To the Internet, only for: box art (libretro thumbnails), trailers (YouTube, with your key), AI features (the provider you chose, with your key). With a local model, nothing about your games leaves your computer.
- To ROMKADE: your ROMKADE account (sign-in); usage statistics only if you accept them (off by default: screens, buttons, app version and language, never game titles or text you type); and, if you link your console to Claude or ChatGPT, what ROMKADE Cloud needs: see ROMKADE in Claude and ChatGPT.
- Never: the games themselves or the content of your saves.
All the details are in the privacy policy.
The interface only answers on the computer itself (127.0.0.1) and rejects requests coming from other websites open
in the browser. With Docker, the search engine has no published port: only ROMKADE Manager reaches it.
Backing up¶
The most valuable part is save-backups/, the copies of your saves.
In the romkade folder, the volume is copied into an archive of the current folder:
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 -d
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 -d
Back up the data folder with the rest of the Mac: Time Machine includes it.
To restore with Docker: the same command with tar xzf /backup/romkade-data.tgz -C /data, service stopped.
Uninstalling¶
- In the
romkadefolder:docker compose down, then delete the folder. - To also remove the data:
docker volume rm romkade_romkade-data romkade_typesense-data. - Optional: remove the images,
docker image rm ghcr.io/romkade/romkade-manager typesense/typesense:27.1.
- Stop the server (Ctrl+C) and delete the
romkade-managerfolder. - To also remove the data: delete
~/Library/Application Support/AnbernicGameManager/. - Remove the search container, if Docker was used:
docker rm -f agm-typesense. - In Keychain Access, delete the entries named
anbernic-game-manager.
Nothing needs to be removed from the console, except, if you want, the .agm-backups/ folder of replaced files in
the ROMs folder.
Advanced options¶
Environment variables. With Docker, put them in a .env file next to compose.yaml (for example ROMKADE_PORT=8780);
from the source code, set them before ./run.sh.
| Variable | Effect |
|---|---|
ROMKADE_PORT |
Docker: port of the interface on the computer (default 8765) |
ROMKADE_VERSION |
Docker: image version to use (default latest, for example 0.4.0) |
TZ |
Docker: time zone of the container (default Europe/Paris), used to date sessions |
AGM_TYPESENSE=0 |
Do without Typesense, use the built-in search |
AGM_TYPESENSE_URL, AGM_TYPESENSE_KEY |
Use another Typesense server |
AGM_NO_WATCH=1 |
Turn off the watcher that rereads changed console folders every minute |
AGM_NO_TRACKER=1 |
Turn off play time tracking |
The local API is documented at http://localhost:8765/docs while ROMKADE Manager runs.