This reference covers version: 1.4.0.
Configuration manager is a small application used to automatically configure Aerokube products.
1. Quick Start Guide
This guide will show how to start Selenoid in a fastest way with help of Configuration Manager. First, you need to download latest release binary from GitHub releases for your platform (linux/darwin/windows).
To simplify this process you launch small script:
curl -s aerokube.com/cm/bash | bash \
&& ./cm selenoid start --vnc
On Windows - just download the latest binary with your browser from releases page for windows (386 and amd64 binaries available). Then if you have Powershell type:
> ./cm.exe selenoid start --vnc
| 
 If you have Docker installed you can also use this one-liner: 
 | 
| 
 If you are working behind proxy you should set environment variables  
+
When running   | 
2. Configuring Selenoid
This section describes supported ways of automatic Selenoid configuration.
| 
 To quickly configure and run Selenoid with defaults type: 
 | 
Selenoid can be configured in two ways:
- 
Using Docker containers.
 - 
Using standalone binaries - when Docker is not installed.
 
Which mode to use is detected automatically by trying to access Docker API. To view the list of available commands:
./cm selenoid --help
To launch command:
./cm selenoid <command> [args...]
Supported commands are:
| Command | Meaning | 
|---|---|
cleanup  | 
Removes Selenoid traces  | 
configure  | 
Creates Selenoid configuration file (implies download)  | 
download  | 
Downloads Selenoid binary or container image  | 
start  | 
Starts Selenoid process or container (implies download and configure)  | 
status  | 
Shows actual configuration status (whether Selenoid is downloaded, configured or running)  | 
stop  | 
Stops Selenoid process or container  | 
update  | 
Updates Selenoid and configuration to latest version  | 
To see supported flags for each command append --help:
./cm selenoid start --help
2.1. Example Commands
- 
downloadcommand downloads latest or specified Selenoid release as standalone binary or container image:./cm selenoid download [--version 1.2.1] [--force]This command does nothing when already downloaded. Use
--forceflag to download again. - 
configurecommand in addition to downloading Selenoid also downloads container images or webdriver binaries and generates configuration file:./cm selenoid configure [--browsers firefox,opera] [--last-versions 2] [--tmpfs 128]Use
--browsersto limit browsers to be configured,--tmpfs- to add Tmpfs support,--last-versions- to limit how many last browser versions to download. If you wish to download all available versions - specify--last-versions 0. - 
startcommand configures Selenoid and starts it:./cm selenoid startBy default Selenoid data is stored in
~/.aerokube/selenoidbut you can specify another directory using--config-dirflag. To download images with VNC server (to see live browser screen) use--vncflag:./cm selenoid start --vncTo override Selenoid listen port add
--portflag:./cm selenoid start --port 4445To override Selenoid startup arguments sessions add
--argsflag:./cm selenoid start --args "-limit 10"To download images from private registry - log in with
docker logincommand and add--registryflag:docker login my-registry.example.com # Specify user name and password ./cm selenoid start --registry https://my-registry.example.comAn alternative to downloading
cmmanually is using Docker container:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${HOME}:/root -e OVERRIDE_HOME=${HOME} aerokube/cm:latest-release selenoid start 
3. Starting Selenoid UI
This section describes supported ways of automatic Selenoid UI startup.
| 
 To quickly run Selenoid UI type: $ ./cm selenoid-ui start  | 
Selenoid UI configuration algorithm is similar to Selenoid one - it is started either in Docker container if you have Docker installed or as a standalone binary otherwise. Supported commands are:
| Command | Meaning | 
|---|---|
cleanup  | 
Removes Selenoid UI traces  | 
download  | 
Downloads Selenoid UI binary or container image  | 
start  | 
Starts Selenoid UI process or container (implies download)  | 
status  | 
Shows actual service status (whether Selenoid is downloaded or running)  | 
stop  | 
Stops Selenoid UI process or container  | 
update  | 
Updates Selenoid to latest version  | 
To see supported flags for each command append --help:
$ ./cm selenoid start --help
3.1. Example Commands
These commands just repeat similar commands for Selenoid so we give no comments here:
$ ./cm selenoid-ui download [--version 1.2.1] [--force]
$ ./cm selenoid-ui start
$ ./cm selenoid-ui start --port 8081
$ ./cm selenoid-ui start --args "--period 100ms"
# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${HOME}:/root aerokube/cm:latest-release selenoid-ui start
4. Contributing & Development
To build cm:
| 
 To build Docker container type: 
 |