This page describes how to run cloud orchestrator at on-premise server, which manages docker instances containing the host orchestrator inside.
Note that this is under development, some features may be broken yet. Please let us know if you faced at any bugs.
Currently we're hosting docker images and its configuration files in Artifact Registry. Please execute the commands below if you want to download and run the cloud orchestrator.
Also, please choose one location among us
, europe
, or asia
.
It's available to download artifacts from any location, but download latency is
different based on your location.
DOWNLOAD_LOCATION=us # Choose one among us, europe, or asia.
docker pull $DOWNLOAD_LOCATION-docker.pkg.dev/android-cuttlefish-artifacts/cuttlefish-orchestration/cuttlefish-cloud-orchestrator
wget -O conf.toml https://artifactregistry.googleapis.com/download/v1/projects/android-cuttlefish-artifacts/locations/$DOWNLOAD_LOCATION/repositories/cloud-orchestrator-config/files/on-premise-single-server:main:conf.toml:download?alt=media
docker run \
-p 8080:8080 \
-e CONFIG_FILE="/conf.toml" \
-v $PWD/conf.toml:/conf.toml \
-v /var/run/docker.sock:/var/run/docker.sock \
-t $DOWNLOAD_LOCATION-docker.pkg.dev/android-cuttlefish-artifacts/cuttlefish-orchestration/cuttlefish-cloud-orchestrator:latest
To enable TURN server support for WebRTC peer-to-peer connections, configure
your TURN server settings in the conf.toml
file before starting the cloud
orchestrator.
See the example below.
[[WebRTC.IceServers]]
URLs = ["turn:localhost:3478"]
Username = "username"
Credential = "credential"
If there's a firewall which blocks accessing cloud orchestrator with HTTP/HTTPS requests, please try using SOCKS5 proxy. Establishing SOCKS5 proxy by creating SSH dynamic port forwarding is available with following command.
ssh -D ${SOCKS5_PORT} -q -C -N ${USERNAME}@${CLOUD_ORCHESTRATOR_IPv4_ADDRESS}
The config file for cvdr
is located at
scripts/on-premises/single-server/cvdr.toml.
Please follow the steps at cvdr.md, to get started with cvdr
.
The config file for cloud orchestrator is at scripts/on-premises/single-server/conf.toml. Please follow the steps at cloud_orchestrator.md, to build and run cloud orchestrator.
Also, you may need to prepare another docker image containing the host
orchestrator inside, unlike steps in
Try cloud orchestrator.
Please follow the docker part of
README.md
in google/android-cuttlefish
github repository, and check if proper docker
image exists via docker image list
.