Installation requirements and instructions.

Supported Operating Systems

You can run Viash on the following operating systems:


Linux and macOS

For these operating systems, there are two dependencies before you can use Viash:

Windows with WSL2

When using WSL2, there are some extra steps to set it up correctly if you haven’t done so already:

  1. Install WSL2 by following the instructions provided by Microsoft. This will install the default distro, Ubuntu.
  2. Follow these instructions provided by Docker to install Docker Desktop with a WSL2 backend. This allows you to run Linux docker containers natively.
  3. Open Ubuntu from the Start menu to start up WSL2.
  4. Run the following command in the Ubuntu terminal to upgrade Ubuntu and its packages to the newest version:
sudo apt-get update && sudo apt-get upgrade -y
  1. Run this command to check if docker is working correctly:
docker run hello-world

If this doesn’t work, read the Docker WSL instructions again, you might have missed a step or forgot to reboot your system.

  1. Install the Viash dependencies by executing this command:
sudo apt-get install -y openjdk-12-jdk unzip zip

Note: You can choose to install default-jdk instead of the more explicit openjdk-12-jdk. However, Nextflow only supports Java version 8 to 12 at this point in time, so keep that in mind.

Installing Viash

To install Viash to a bin folder in your current directory, run the following command to download and run the bootstrap tool:

wget -qO- | bash

To verify your installation, run the following command:

bin/viash --help

Installation options

Additional options can be set immediately using the following syntax:

wget -qO- | bash -s -- OPTIONS

For example, this command installs a release candidate of Viash in a directory named ‘applications’:

wget -qO- | bash -s -- --bin applications --tag 0.5.0-rc3

Use --help to get more information on the various parameters.

wget -qO- | bash -s -- --help

Here’s the full list of options:

viash_install 0.5.10
Bootstrap or update a viash project's CI/CD artefacts

        type: file, output
        default: bin
        Target dir for viash scripts and tools

   -r, --registry
        type: string
        Which Docker registry to use in the Docker image name.

   -o, --organisation, --organization
        type: string
        example: myorganisation
        Which organisation name to use in the Docker image name.

   -tis, --target_image_source
        type: string
        Which image source to specify in the component builds.

        type: string
        example: _
        The separator to use between the component name and namespace as the image name of a Docker container.

   -c, --config_mod
        type: string, multiple values allowed
        Modify a viash config at runtime using a custom DSL. For more information, see the online documentation.

   -t, --tag
        type: string
        default: latest
        Which tag/version of viash to use.

   -l, --log_prefix
        type: string
        default: ./.viash_log_
        A prefix path or directory for where to store the log files.