Skip to main content
Skip table of contents

Installation and configuration

There are two possible ways of installing CleverMaps Shell - locally and using Docker.

  1. To install it locally, you have to:

    1. Install Java Development Kit - JDK

    2. Download the Shell .jar file

    3. Run it in cmd.exe or Terminal

  2. To install using Docker:

    1. Download and install the Docker platform

    2. Pull the latest Shell image

    3. Run it in a Docker container

Local installation

CleverMaps Shell runs in Terminal on Unix systems (Linux, Mac OS) and in cmd.exe on Windows systems. If you're unfamiliar with these tools, we recommend completing a basic usage tutorial on the web.

We've encountered character encoding problems on Windows 7. It is recommended to use Windows 8 or higher.

To run Shell locally, your machine must have the Java Development Kit, version 17 or higher, installed. To check if JDK is installed, open Terminal or cmd.exe and run this command. 

Linux/Mac/Windows

java -version

If you receive a version number back - you have installed JDK already and you can skip to the next step.

Otherwise, we recommend to download Java Development Kit - JDK 17 from Oracle:

Choose the installation file according to your platform, and follow the installation instructions. You can also opt for the open-source version - OpenJDK.

After successfully installing JDK, download the Shell executable file from this page. Navigate to the folder where you've downloaded the Shell, and run it using a script distributed with the executable .jar file. The script must be located in the same folder as the .jar file.

Linux/Mac

Windows

cd <path>

bash can_shell.sh

cd <path>

can_shell.bat

Where <path> is the path to the folder where you've downloaded Shell.

Alternatively, run it directly using the java command:

Linux/Mac/Windows

cd <path>

java -jar ./can-shell-2.0.2-RELEASE-exec.jar

The actual name of the jar (can-shell-2.0.2-RELEASE-exec.jar) may differ - it depends on the version you've downloaded.

Configuration

After you have successfully started Shell, we recommend you set up your config and credentials, so you don't have to enter them each time you log in.

You can log in using either credentials or an access token (recommended).

Log in using an access token

First, log in to the application and on the Project page, hover over your profile name and select Generate access token. You will be prompted to log in again, and then you'll receive your access key.

Then, run Shell and use the setup command to set up your access token.

Linux/Mac/Windows

setup --accessToken XbkadJ2ZcUd5_gRi5AjJoKwy3w6Jp5ctBacCCfhUbxQ

Your credentials and config files will be stored in your home folder in the .cleverMaps directory.

Are you connecting through a proxy server? Set your proxy config using: setup --proxyHost proxy.example.com --password proxyPort 3128

Docker installation

To run Shell in Docker, your machine must install and run the Docker container platform. You can get Docker here.

This image runs the lightweight Alpine Linux and already contains the Java Development Kit. It's always distributed with the latest version of Shell.

With --env CM_ACCESS_TOKEN=8HZP...WE the security token stays in terminal history. If you are working under unsecured environment consider saving CM_ACCESS_TOKEN into a file and load it with --env-file file-name.env .

Linux/Mac

docker run --rm --name cm-shell --pull always --volume /tmp/dumps:/work:z --env CM_ACCESS_TOKEN=8HZP...WE -ti clevermaps/shell:latest

Windows

docker run --rm --name cm-shell --pull always --volume C:\dumps:/work:z --env CM_ACCESS_TOKEN=8HZP...WE -ti clevermaps/shell:latest

Where:

  • --rm tells Docker not to persist the container for later use

  • --name specifies the name of the container

  • --pull the newest version of the image if available

  • --volume bind mounts a volume, where /tmp/dumps is the local directory the image will use, and /work is the path inside of the container

    • all dumped metadata and data will be located here (though Shell will indicate that the files were dumped to the /work directory)

    • you can specify whatever path you want, e.g.: C:\dumps on Windows

  • --env specifies the environment variables with credentials. Docker image accepts the following environment variables:

    • CM_ACCESS_TOKEN - user access token for authentication

    • AWS_ACCESS_KEY_ID - AWS access key (required only for loading CSV files from AWS S3)

    • AWS_SECRET_ACCESS_KEY - AWS secret key (required only for loading CSV files from AWS S3)

  • -ti allocates a terminal so you can directly interact with the container, and also keeps the standard input open

  • clevermaps/shell:latest is the name of the latest image

Info for Linux/Mac OS

Create the mounted dump dir on your system before runing the docker run command, e.g. mkdir -p /tmp/dumps.
Otherwise it will be created as owned by root user and dumpProject command inside container will fail with error message:
General error=Cannot create project directory=/work/asdfghjkl.
Execution failed. Please contact support for assistance with request_id=qwertzuiop

Usage tips

Shell Docker images are hosted in this DockerHub repository.

There are some useful tricks, which will make the work with Shell much easier:

  • reverse command search - using the Ctrl+R shortcut, you can search through your command history (stored in spring-shell.log file in the Shell working directory - not available for Docker installation)

    • Ctrl+R â†’ type "k5" → openProject --project k5t8mf2a80tay2ng

  • command completion - using the Tab key, Shell will finish the command/parameter, or list all available commands/parameters

    • lo â†’ Tab → login

    • li → Tab → listProjects, listDumps → listP → Tab → listProjects

  • command history - by pressing the Up and Down arrow keys, you can navigate through the command history

Having trouble with installation or configuration of CleverMaps Shell? Don't hesitate to contact us at support@clevermaps.io.

To learn more about Shell and the platform - please complete the CleverMaps tutorials. Detailed command descriptions of Shell commands can be found in the command list article.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.