Orchest can be run on Linux, macOS and Windows (using the exact same steps!).
Docker (Engine version of
>= 20.10.7; run
docker versionto check.)
If you do not yet have Docker installed, please visit https://docs.docker.com/get-docker/.
On Windows, Docker has to be configured to use WSL 2. Make sure to clone Orchest inside the Linux environment. For more info and installation steps for Docker with WSL 2 backend, please visit https://docs.docker.com/docker-for-windows/wsl/.
Linux, macOS and Windows¶
Simply follow the steps below to install Orchest.
git clone https://github.com/orchest/orchest.git && cd orchest ./orchest install # Verify the installation. ./orchest --help # Start Orchest. ./orchest start
Now that you have installed Orchest, get started with the quickstart tutorial.
For Linux/WSL 2 users, please take the following into account regarding the Docker networking configuration.
Docker has some network interruption issues,
if you’re connecting to Orchest from the same machine on which you’re running it
localhost) it’s recommended to disable IPv6 networking.
It’s recommended to disable IPv6 at the kernel level using a boot directive like
describes how to do that for Ubuntu Linux.
By default, running
./orchest install, installs only the language dependencies for Python.
Other language dependencies can be installed as follows:
# To install R dependencies. ./orchest install --lang=r # To install all languages: Python, R and Julia. ./orchest install --lang=all # Check out all available options. ./orchest install --help
Add Orchest to your
PATH to gain the ability to invoke the
orchest script from anywhere,
e.g. from your home directory:
orchest status. Depending on your shell add
PATH="$HOME/<orchest-install-directory-path>:$PATH" to the corresponding
.profile file. You
need to logout and login again for the changes to take effect.
Build from source¶
You can expect the build to finish in roughly 15 minutes.
git clone https://github.com/orchest/orchest.git && cd orchest # Check out the version you would like to build. git checkout v2021.05.0 # Build Orchest's Docker containers from source (in parallel). scripts/build_container.sh # Finish the Orchest installation by pulling additionally required # images, e.g. postgres, and installing the Orchest Docker network. ./orchest install # Verify the installation. ./orchest --help
We recommend building a tagged commit indicating a stable release. Sadly, releases before
v2021.05.0 can not be build due to a dependency mismatch.
Make sure you have installed our GPU images for the programming language you want to use. For example:
# Install the image with GPU passthrough for Python. ./orchest install --lang=python --gpu
For GPU images the host on which Orchest is running is required to have a GPU driver that is compatible with the CUDA version installed in the image. Compatible version pairs can be found here.
The GPU supported image
orchest/base-kernel-py-gpu includes CUDA Toolkit 10.1. Which
requires the NVIDIA driver on the host to be
To find out which version of the NVIDIA driver you have installed on your host run
nvidia-smi is also available from within the GPU enabled image. Please note that when run from
within the container it reports the CUDA Toolkit version installed on the host. To find out the
CUDA Toolkit version installed in the container image run
Additionally, we require the
nvidia-container package to make sure Docker is able to provide GPU
enabled containers. Installation of the nvidia-container is done using
- Docker GPU documentation
Most up to date instructions on installing Docker with NVIDIA GPU passthrough support.
Windows WSL 2 (supported)
For WSL 2 follow the CUDA on WSL User Guide provided by NVIDIA.
Please note that the “Docker Desktop WSL 2 backend” (meaning, you’ve installed Docker not directly in the WSL 2 environment but on the Windows host itself) does not support CUDA yet.
macOS (not supported)
nvidia-docker does not support GPU enabled images on macOS (see FAQ on
Run Orchest on the cloud¶
Running Orchest on a cloud hosted VM (such as EC2) does not require a special installation. Simply follow the regular installation process.
To enable SSL you first need to get the SSL certificates for your domain and put the certificates in
the correct place so that Orchest recognizes them. Luckily, this can all be done using:
scripts/letsencrypt-nginx.sh <domain> <email>. For the changes to take effect you need to
start Orchest on port
80 (as otherwise the default port
8000 is used):
./orchest start --port=80
Refer to the authentication section to enable the authentication server, giving you a login screen requiring a username and password before you can access Orchest.