Docker Compose is the recommended way to deploy VK DeviceHub, offering:
- Simplified orchestration
- Dependency management
- Automatic network setup
compared to manual systemd unit handling.
Make sure you have the following installed:
- Docker
- Docker Compose
- Environment configuration file:
scripts/variables.env - SSL certificates (automatically generated via the
omgwtfsslcontainer)
All deployments use a centralized .env file.
Create scripts/variables.env with the following variables:
STF_SECRET=your_jwt_secret_here
STF_DOMAIN=your.domain.com
STF_PORT=443
AUTH_URL=auth/mock/
MONGODB_PORT_27017_TCP=mongodb://devicehub-mongo:27017docker-compose -f docker-compose-prod.yaml up -ddocker-compose -f docker-compose-prod.yaml logs -fdocker-compose -f docker-compose-prod.yaml up -d --scale devicehub-processor001=3The docker-compose-dev.yaml file provides a minimal setup for local development (only database components).
docker-compose -f docker-compose-dev.yaml up -dThe docker-compose-macos.yaml file is tailored for macOS and includes:
- Use of
host.docker.internalfor ADB connectivity - All services in a single Compose file
- Optimized port mappings for Docker Desktop on macOS
Docker Compose supports horizontal scaling of stateless services.
docker-compose up -d --scale devicehub-processor001=5docker-compose up -d --scale devicehub-storage-plugin-apk=3devicehub-processor001— message processingdevicehub-storage-plugin-*— storage pluginsdevicehub-provider— device providers (with different names)
devicehub-reaper— single instance onlydevicehub-api-groups-engine— single instance only- Database and proxy services
Scale wisely: do not scale stateful services!