Setting up OpenWhisk on Ubuntu server(s)

The following are verified to work on Ubuntu 18.04. You may need sudo or root access to install required software depending on your system setup.

The commands below should be executed on the host machine for single VM/server deployments of OpenWhisk. For a distributed deployment spanning multiple VMs, the commands should be executed on a machine with network connectivity to all the VMs in the deployment - this is called the bootstrapper and it is ideally an Ubuntu 18.04 VM that is provisioned in an IaaS (infrastructure as a service platform). Your local machine can act as the bootstrapper as well if it can connect to the VMs deployed in your IaaS.

# Install git if it is not installed
sudo apt-get install git -y

# Clone openwhisk
git clone openwhisk

# Change current directory to openwhisk
cd openwhisk

Open JDK 8 is installed by running the following script as the default Java environment.

# Install all required software
(cd tools/ubuntu-setup && ./

If you choose to install Oracle JDK 8 instead of Open JDK 8, please run the following script.

# Install all required software
(cd tools/ubuntu-setup && ./ oracle)

Select a data store

Follow instructions tools/db/ on how to configure a data store for OpenWhisk.


cd <home_openwhisk>
./gradlew distDocker

If your build fails with ‘Exception in thread “main” java.lang.RuntimeException: Unexpected error: the trustAnchors parameter must be non-empty’, you might need to run ‘sudo update-ca-certificates -f’.


Follow the instructions in ansible/ to deploy and teardown OpenWhisk within a single machine or VM.

Once deployed, several Docker containers will be running in your machine. You can check that containers are running by using the docker CLI with the command docker ps.

Configure the CLI

Follow instructions in Configure CLI. The API host should be or more formally, the IP of the edge host from the ansible environment file.

Use the wsk CLI

bin/wsk action invoke /whisk.system/utils/echo -p message hello --result
    "message": "hello"