This project contains a complete Docker environment to run the SlimeVR Server with a dynamic Web GUI, ideal for headless setups like Raspberry Pi, home servers, or LAN PCs.
π Features
- Automatic download of
.jarand Web GUI assets from GitHub - Fully configurable via
.envfile - Web GUI served through Nginx
- Auto-redirects with
?ip=<your-host-ip> - All relevant ports exposed (SlimeVR, VMC, OSC, etc.)
- Simple and production-ready setup π―
π Project structure
slimevr-docker/
βββ .env
βββ docker-compose.yml
βββ nginx/
β βββ Dockerfile
β βββ entrypoint.sh
β βββ templates/
β βββ default.conf.template
βββ slimevr/
β βββ Dockerfile
βοΈ Configuration
Edit the .env file:
SLIMEVR_VERSION=0.14.1 # SlimeVR Server version to download WEBGUI_PORT=8080 # Port to serve the Web GUI
π§± Build & Run
docker compose --env-file .env build docker compose --env-file .env up -d
Then open in your browser:
http://<SLIMEVR_IP>:<WEBGUI_PORT>/
β It will redirect automatically to:
http://<SLIMEVR_IP>:<WEBGUI_PORT>/?ip=<SLIMEVR_IP>
π Web GUI
The GUI is served through Nginx and is downloaded automatically from:
π§© Exposed Ports
| Service | Port(s) | Protocol |
|---|---|---|
| SlimeVR Trackers | 6969 | UDP |
| Web GUI | WEBGUI_PORT |
TCP |
| WebSocket Bridge | 21110 | TCP |
| OSC Router | 9000, 9002 | TCP/UDP |
| VRC OSC | 9000, 9001 | TCP/UDP |
| VMC | 39539, 39540 | TCP/UDP |
π Volumes
slimevr-config: Persistent SlimeVR config (vrconfig.yml)slimevr-gui: Static files for the GUI served by Nginx
π§ͺ Troubleshooting
- ERR_TOO_MANY_REDIRECTS: Make sure the Nginx redirect only happens if
?ip=is missing in the URL. - Nginx crash with βserver directive not allowedβ: Don't overwrite
nginx.confwith aserver {}block. Useconf.d/default.confinstead. - USB not detected: Check you're mapping the correct port (e.g.
/dev/ttyUSB0). Adjust it based on your hardware.
π§‘ Credits
- SlimeVR
- Web GUI based on slimevr-gui-dist
π License
MIT
Donations
BTC: bc1qrd3mexqu43qn0597d248725kdp3tr28252q64p
Γltima actualizaciΓ³n: 2026-02-26 15:50:57 -03