Compatibility
Minecraft: Java Edition
26.1-snapshot-1
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x
1.6.4
1.6.1–1.6.2
1.5.x
1.4.4–1.4.7
1.4.2
1.3.x
1.2.x
1.1
1.0
All legacy versions
Platforms
Creators
Details
Licensed MIT
Published last month
Updated 3 weeks ago
DockBridge
Velocity plugin to auto-register Docker-backed servers (e.g., Limbo) and check for updates on Modrinth.
Features
- Auto-discovery: Containers with label
net.uebliche.dockbridge.autoregister=trueare registered as Velocity servers. Host from container name, port from labelnet.uebliche.dockbridge.server_port(fallback: first exposed port, else 25565). - Name collisions: Default
suffix→ append short container id (basename-abcdef). Alternativeoverwrite→ keep basename, last writer wins. /dockbridgecommand (permissiondockbridge.command): Shows label filter, duplicate strategy, last scan stats, and registered servers (no sensitive data).- Modrinth update check on proxy start; login hint for players with permission
dockbridge.update.notify.
Installation
- Download the latest DockBridge release from Modrinth (jar file).
- Place the jar into your Velocity
plugins/folder. - (Optional) If Velocity runs in Docker, mount
/var/run/docker.sockinto the Velocity container so DockBridge can discover containers. - Start Velocity. On first start, the config file
dockbridge.confis created in the Velocity data folder; adjust settings and restart. - Permissions:
dockbridge.commandfor/dockbridgedockbridge.update.notifyfor update hints on login
Configuration
dockbridge.conf (created in the Velocity data folder on first start):
docker.endpoint=unix:///var/run/docker.sock
docker.poll_interval_seconds=30
filters.proxy_group=default
docker.autoregister.label_key=net.uebliche.dockbridge.autoregister
docker.autoregister.label_value=true
docker.autoregister.name_label=net.uebliche.dockbridge.server_name
docker.autoregister.port_label=net.uebliche.dockbridge.server_port
docker.autoregister.duplicate_strategy=suffix # suffix | overwrite
Docker labels (example)
net.uebliche.dockbridge.autoregister=true
net.uebliche.dockbridge.server_name=limbo
net.uebliche.dockbridge.server_port=30000
Local testing
Gradle run
./gradlew runVelocity
Downloads Velocity, builds the plugin (shadowJar), and starts the proxy with the plugin loaded.
Docker Compose (Limbo set)
docker compose up --build # or: docker compose -f docker-compose.limbo.yml up --build
Includes three Limbo backends (ports 30000/30001/30002) and Velocity on host port 26678. Velocity runs via runVelocity inside the container and mounts your sources/config.
Commands & permissions
/dockbridge(permissiondockbridge.command): Status and registered servers.- Update hint on login: permission
dockbridge.update.notify.
Troubleshooting
- No servers registered?
- Ensure your containers have the label
net.uebliche.dockbridge.autoregister=trueand a validnet.uebliche.dockbridge.server_port. - Make sure Velocity can reach Docker: mount
/var/run/docker.sock(or setdocker.endpointto a reachable TCP endpoint). - Check
/dockbridgeoutput for last scan count and registered servers.
- Ensure your containers have the label
- Port mismatch or forwarding errors?
- Verify the Limbo (or other backend) port matches the label and the server properties.
- For Velocity forwarding, ensure forwarding secret/mode match on both ends.
- Duplicate names?
- Default strategy is
suffix. Switch tooverwriteviadocker.autoregister.duplicate_strategyif you want last-writer-wins.
- Default strategy is
Build
./gradlew build
Produces the shaded jar at build/libs/DockBridge-<version>.jar.
Contributing
- Fork & PRs welcome. Keep code comments minimal but purposeful.
- Default Java 21, Gradle Kotlin DSL, Velocity API 3.4.0-SNAPSHOT for run task; 3.1.1 for compileOnly/annotationProcessor.
- Run
./gradlew buildbefore submitting; Docker-based tests are optional.


