Run the ChRIS Store

Set Up ChRIS Store graphic

Let's get the ChRIS Store running!

In this tutorial, you'll stand up a local instance of the ChRIS Store on your local system. You can use this setup to push plugins to in order to load them into ChRIS to test a ChRIS admin workflow. You can also follow these instructions to get set up to work on the ChRIS Store itself.
This tutorial is based on the README files for the ChRIS Store UI repository. Where these instructions may end up differing with those resources, the README files will always be the most up-to-date and correct. We provide this tutorial as a single comprehensive document to get you started.

Pre-requisites

NOTE: These pre-requisites are the same as in the Get ChRIS Running tutorial. If you have already completed that tutorial, you may skip the pre-requisites setup steps below and skip to the next section, "Get the ChRIS Store backend running."
  • A laptop or workstation running Linux (Fedora*, CentOS, Ubuntu, or Debian), Mac OS X 10.14+, or Windows 10 (64-bit).
  • Docker 18.06.0+ with Docker Compose 1.22.0+ (Use link for your distro / OS above.)
  • (Linux-only) Your OS user should be in a docker user group. After installing Docker, do the following in a terminal:
    1. sudo groupadd docker
    2. sudo usermod -aG docker $USER
    3. Log out, and log back in.
* Due to Docker's lack of support for cgroups v2 and DNFTables, there is no official Docker build for Fedora 32. Follow the instructions in this Fedora Magazine article to get Docker running on your Fedora 32 system.

Get the ChRIS Store backend running

After you've met the pre-requisites, you'll need to the ChRIS Store backend up and running.

Open up a terminal on your system and follow these steps:
  1. Clone the ChRIS Store backend repo.
    git clone https://github.com/FNNDSC/ChRIS_store.git
  2. Go into the ChRIS Store backend directory.
    cd ChRIS_store
  3. Make the ChRIS Store.
    ./make.sh up
Tearing down the ChRIS Store backend

You can later remove all the backend containers and release storage volumes with:

$ cd ChRIS_store
$ ./make.sh down

Get the ChRIS Store UI frontend up and running

Now, let's get the web-based UI for the ChRIS Store working. The ChRIS Store UI uses TypeScript, React, the PatternFly React pattern library.

Open up a terminal on your system and follow these steps:
  1. Clone the ChRIS Store UI repo.
    git clone https://github.com/FNNDSC/ChRIS_store_ui.git
  2. Go into the ChRIS UI directory.
    cd ChRIS_store_ui
  3. Run the ChRIS UI.
    docker run --rm -it -v $(pwd):/home/localuser -p 3000:3000 -u $(id -u):$(id -g) --name chris_store_ui fnndsc/chris_store_ui:dev
  4. Open the website in a browser.
    http://localhost:3000

Development Note

Before each commit, a precommit script is run automatically to ensure all tests pass and all JavaScript code follows the Airbnb style guide. Please note that if you are using the docker commands then you need to run git inside the container. For instance open a new terminal and type:
$ docker exec -it chris_store_ui git status

More detailed instructions for the ChRIS Store UI are available in the ChRIS Store UI repository's README.

What's Next?

Now that you've got a got both the ChRIS backend and ChRIS front end running, why not set up the ChRIS store?

...

Set Up the ChRIS Store

If you want to work on the ChRIS store, or need to test loading plugins into a ChRIS instance, you'll need to get the ChRIS store running on your system. Here's how.