Play arcade games online with friends from the browser: MAME + WebRTC, up to 4 players with voice.
77
Play classic arcade games online with your friends, straight from the browser.
This image is the go-link device without a window: your server (or Raspberry Pi) becomes the arcade. It runs the games with the MAME 2003-Plus engine (libretro) and streams video, sound and voice over WebRTC. Friends join from any browser with a link and a PIN, with no install and no ROMs.
docker run -d --name go-link --network host \
-v go-link:/data \
-v ~/roms:/data/go-link/roms \
lordbasex/go-link-device:latest
Then:
http://<this machine's address>:7373. Its key:
docker exec go-link go-link-device panel token --config /data/device.json
You can also link the device to go-link.org/device with the code shown in the panel, and manage it from anywhere.
| Tag | What it is |
|---|---|
latest | The latest release |
vX.Y.Z | A given release, e.g. v0.1.2 |
Every tag is built for linux/amd64 and linux/arm64 (Raspberry Pi 4/5 with a 64-bit system). The same image is on the GitHub Container Registry: ghcr.io/lordbasex/go-link-device.
| Path in the container | What goes there |
|---|---|
/data | Everything go-link keeps: configuration, the emulator core, saved games, history, recordings and logs. Use a named volume. |
/data/go-link/roms | Your ROM sets. Add :ro to block uploads from the website. |
/data/go-link/thumbnails/MAME | Optional game pictures, in the libretro layout (Named_Boxarts, Named_Titles, Named_Snaps). |
The container runs as user golink (uid 1000): host folders you mount without :ro must be writable by uid 1000.
WebRTC needs UDP straight to the players, so --network host is the simple way on Linux.
Without the host's network (for example Docker Desktop on macOS or Windows), publish the panel and a fixed UDP port, and announce your computer's LAN address:
docker run -d --name go-link \
-p 7373:7373 -p 50000:50000/udp \
-v go-link:/data -v ~/roms:/data/go-link/roms \
lordbasex/go-link-device:latest --udp-port 50000 --announce 192.168.1.20
| Port | Use |
|---|---|
7373/tcp | The local web panel |
UDP (random, or the one you set with --udp-port) | WebRTC media to the players |
services:
go-link:
image: lordbasex/go-link-device:latest
restart: unless-stopped
network_mode: host
volumes:
- go-link-data:/data
- ~/roms:/data/go-link/roms
volumes:
go-link-data:
go-link does not include, host or download any ROMs, game images or BIOS files. Use only ROMs you have the right to use, such as backups of arcade boards you own. MAME® is a registered trademark of Gregory Ember; go-link is not affiliated with MAMEdev or libretro. The mame2003-plus core, downloaded at your request, is for non-commercial use only. Full terms: go-link.org/terms.
Report bugs and ideas in GitHub Issues, ask in Discussions, and read CONTRIBUTING.md to contribute. And please ⭐ star the repository!
Content type
Image
Digest
sha256:e9e6b3dff…
Size
38.4 MB
Last updated
about 4 hours ago
docker pull lordbasex/go-link-device