This repository contains the reference UI for ChRIS, allowing users to create and interact with dynamic containerized workflows. The ChRIS UI is written primarily in TypeScript and React, and uses the PatternFly React pattern library.
- Ubuntu 18.04+ (typically 20.04+, and Pop!_OS)
- Arch Linux
- macOS 11.X+ (Big Sur)
- Install latest
Docker Compose
- On a Linux machine make sure to add your computer user to the
docker
group
Then open a terminal and fire the backend services up by following these steps:
git clone https://github.com/FNNDSC/miniChRIS.git
cd miniChRIS
./minichris.sh
See FNNDSC/miniChRIS for details.
Alternatively, start the backend in development mode:
$ git clone https://github.com/FNNDSC/ChRIS_ultron_backEnd.git
$ cd ChRIS_ultron_backEnd
$ ./make.sh -U -I -i
You can later remove all the backend containers and release storage volumes with:
$ cd ChRIS_ultron_backEnd
$ sudo rm -r FS
$ ./unmake.sh
You can follow any of those steps to start UI development server
Open a new terminal on your system and follow these steps:
$ git clone https://github.com/FNNDSC/ChRIS_ui.git
$ cd ChRIS_ui
$ npm i
$ npm start
More details can be found on the wiki.
Open a new terminal on your system and follow these steps:
$ git clone https://github.com/FNNDSC/ChRIS_ui.git
$ cd ChRIS_ui
$ docker build -t fnndsc/chris_ui:dev -f Dockerfile_dev .
$ docker run --rm -it -v $PWD:/home/localuser -p 3000:3000 -u $(id -u):$(id -g) --userns=host --name chris_ui fnndsc/chris_ui:dev
Open http://localhost:3000 to view it in the browser.
If your backend is running somewhere other than http://localhost:8000/api/v1/
, then copy the .env
file to one of the locations below:
.env.local
.env.development.local
.env.test.local
.env.production.local
Point REACT_APP_CHRIS_UI_URL
to your local backend instance.
$ cd ChRIS_ui
$ docker build -t local/chris_ui .
It correctly bundles React in production mode and optimizes the build for the best performance. The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
$ docker run --name chris_ui -p <desired port>:3000 -d local/chris_ui
Interested in contributing? https://chrisproject.org/join-us
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.