GitHub - madkoding/docker-slimevr-web-server: Dockerized SlimeVR Server with auto-downloaded Web GUI, dynamic LAN IP redirect, and full port exposure for VMC, OSC, and more.

Stars Forks Publish Status Docker Pulls

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 .jar and Web GUI assets from GitHub
  • Fully configurable via .env file
  • 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.conf with a server {} block. Use conf.d/default.conf instead.
  • USB not detected: Check you're mapping the correct port (e.g. /dev/ttyUSB0). Adjust it based on your hardware.

🧑 Credits


πŸ“ License

MIT


Donations

BTC: bc1qrd3mexqu43qn0597d248725kdp3tr28252q64p

Última actualización: 2026-02-26 15:50:57 -03