Install Appliance

The Anbox Cloud Appliance offers a single machine based deployment of Anbox Cloud
which is well suited for initial prototype and small scale deployments.

What you will need

  • A virtual or bare metal machine on the cloud provider of your choice running Ubuntu 20.04. Please have a look at the detailed requirements here
  • Your Ubuntu Advantage for Applications token. If you don’t have yours yet, get it from https://ubuntu.com/advantage or speak to your Canonical representative

WARNING: The Ubuntu Advantage for Infrastructure token every user gets for free for personal use does NOT work and will result in a failed deployment!

Install Appliance

As the first step we have to install the anbox-cloud-appliance snap which will handle the installation and deployment of Anbox Cloud:

$ sudo snap install --classic anbox-cloud-appliance

After the installation you will find a status web page at https://your-machine-address which provides status information for the following initialization process.

Now that the snap is installed we can invoke the initialization process of the Anbox Cloud Appliance. You will be asked a few questions but if you don’t want to make any specific changes it’s safe to stay with the offered default answers.

$ sudo anbox-cloud-appliance init
Welcome to the Anbox Cloud Appliance!

The following questions will guide you through the initial setup of the
appliance. If you don't care about answering any of them you can just
accept the defaults.

For any further questions please have a look a the official Anbox Cloud
documentation at https://anbox-cloud.io/docs

Both the containers used to deploy the control plane services of the
Anbox Cloud Appliance and the ones used for the actual Android instances
require storage. Choosing an appropiate storage device and size will
affect both performance and density. By default each Android instance
will occupy 3GB of disk storage. Depending on the number of containers
you intend to run you should calculate:

storage size = 15 GB (for the OS) + 3GB * number of Android instances

Anbox Cloud uses ZFS under the hood for the LXD storage pool which
implements deduplication, so the actual space occupied later will be
less but may grow up to the maximum in some cases.

If you don't choose to use a dedicated block storage device the
appliance will allocate an on-disk image on the root disk of the
instance it's running on. You can influence the size of the image
by specifying a custom size.

If you don't specifiy a block device or a custom size, the appliance
will decide automatically on the location and best size for the LXD
storage pool.

Do you want to use a dedicated block storage device? [default=yes] 
What is the path to the block storage device?  [default=/dev/nvme1n1]

Is the appliance deployed behind a NAT and should be available on a public address? [default=yes] 
Do you have a DNS name you want to use instead of the IP address? [default=yes] 
Which DNS name you want to use (e.g. anbox-cloud.io)?  [default=ec2-18-185-179-72.eu-central-1.compute.amazonaws.com] 

Configuration completed. Do you want to initiate the bootstrap process now? [default=yes] 

Everything configured, starting the bootstrap process now. You can
watch https://ec2-18-185-179-72.eu-central-1.compute.amazonaws.com for progress updates

After the command has returned the initialization process will run fully automatic in the background and you can watch the status web page at https://your-machine-address for progress information.

Alternatively the following command provides progress information on the command line:

$ anbox-cloud-appliance status
status: initializing
progress: 60
update-available: false
reboot-needed: false

Once the initialization process has finished you will be presented with a welcome page on https://your-machine-address with instructions on how to register a user account with your installation. You will need an Ubuntu SSO account in order to log into the dashboard, so if you haven’t created one yet, you can do so here

Your Ubuntu SSO account can now be registered by running the following command via SSH on the machine hosting the appliance:

$ anbox-cloud-appliance dashboard register <your Ubuntu SSO email address>
Visit https://ec2-18-185-179-72.eu-central-1.compute.amazonaws.com/register?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InNpbW9uLmZlbHNAY2Fub25pY2FsLmNvbSIsImV4cCI6MTYyMzMxNzU0N30.0YVd8paPyU6b_5evf76t0Kf_1w20mHecNiI26jTWg1s to finish your registration

The output provides a link you need to open in your web browser to finish the account creation. By default the Afterwards registration link expires after one hour. You can now log into the appliance dashboard with your Ubuntu SSO account.

Done!

Your Anbox Cloud Appliance is now fully setup and ready to be used! You can read more about your next steps here

You will find more information about how to use the appliance in the documentation. In general the Anbox Cloud Appliance is deploying the same Anbox Cloud as you can deploy manually via Juju but takes away all the burden to deal with the deployment itself. With that all not Juju related commands and examples given in the documentation apply to the appliance the same way as for a regular deployment.