A Docker container for running VirtualHere USB Server with pre-downloaded binaries, supporting multiple architectures with dedicated Dockerfiles.
latest and release tagsChoose the appropriate image for your system:
# For AMD64/x86_64 systems
docker run -d --name virtualhere --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v virtualhere-data:/data \
-p 7575:7575 \
yourusername/virtualhere-server:latest-amd64
# For ARM64 systems (Raspberry Pi 4, Apple Silicon, etc.)
docker run -d --name virtualhere --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v virtualhere-data:/data \
-p 7575:7575 \
yourusername/virtualhere-server:latest-arm64
# For ARM systems (Raspberry Pi 3 and older)
docker run -d --name virtualhere --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v virtualhere-data:/data \
-p 7575:7575 \
yourusername/virtualhere-server:latest-arm
The multi-arch manifest automatically selects the correct image:
docker run -d --name virtualhere --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v virtualhere-data:/data \
-p 7575:7575 \
yourusername/virtualhere-server:latest
| Tag | Description | Architectures |
|---|---|---|
latest | Latest build from main branch | Multi-arch (amd64, arm64, arm) |
latest-amd64 | Latest AMD64 build | amd64 |
latest-arm64 | Latest ARM64 build | arm64 |
latest-arm | Latest ARM build | arm/v7 |
release | Latest tagged release | Multi-arch (amd64, arm64, arm) |
release-amd64 | Release AMD64 build | amd64 |
release-arm64 | Release ARM64 build | arm64 |
release-arm | Release ARM build | arm/v7 |
v1.2.3 | Specific version | Multi-arch (amd64, arm64, arm) |
yourusername/virtualhere-server:latestghcr.io/yourusername/virtualhere-server:latestThe system automatically selects the appropriate image based on your architecture:
latest-amd64 (Intel/AMD 64-bit)latest-arm64 (ARM 64-bit)latest-arm (ARM 32-bit).
āāā Dockerfile.amd64 # AMD64 specific build
āāā Dockerfile.arm64 # ARM64 specific build
āāā Dockerfile.arm # ARM specific build
āāā start-virtualhere.sh # Startup script (shared)
āāā docker-compose.yml # Docker Compose config
āāā .github/
ā āāā workflows/
ā āāā build.yml # CI/CD pipeline
āāā README.md
# Clone the repository
git clone https://github.com/yourusername/virtualhere-docker.git
cd virtualhere-docker
# Build for specific architecture
docker build -f Dockerfile.amd64 -t virtualhere-server:amd64 .
docker build -f Dockerfile.arm64 -t virtualhere-server:arm64 .
docker build -f Dockerfile.arm -t virtualhere-server:arm .
# Build for current architecture (auto-detect)
ARCH=$(uname -m)
case "$ARCH" in
x86_64) docker build -f Dockerfile.amd64 -t virtualhere-server . ;;
aarch64) docker build -f Dockerfile.arm64 -t virtualhere-server . ;;
armv7l) docker build -f Dockerfile.arm -t virtualhere-server . ;;
esac
To enable automated builds, configure these secrets in your GitHub repository:
| Secret | Description |
|---|---|
DOCKERHUB_USERNAME | Your Docker Hub username |
DOCKERHUB_TOKEN | Docker Hub access token |
The workflow will automatically:
Check if the container has USB access:
docker exec virtualhere lsusb
Verify USB devices are mounted:
ls -la /dev/bus/usb/
--privileged or proper device accessCheck if port 7575 is accessible:
netstat -tuln | grep 7575
Verify firewall settings on the host
Test connection from VirtualHere client
# View container logs
docker logs virtualhere
# Interactive shell access
docker exec -it virtualhere /bin/bash
# Check running processes
docker exec virtualhere ps aux
git checkout -b feature-nameThis project is licensed under the MIT License - see the LICENSEā file for details.
Content type
Image
Digest
sha256:d31ce97c3ā¦
Size
32.7 MB
Last updated
3 months ago
docker pull czyt/virtualhere-server