Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Easiest way to run ChRIS locally.

License

NotificationsYou must be signed in to change notification settings

FNNDSC/miniChRIS-docker

Repository files navigation

ChRIS logo miniChRIS

CI badgeMIT license

Run a demo ofChRIS.https://chrisproject.org/

Abstract

ChRIS is an open-source platform facilitating cloud-based medical compute.This repository,miniChRIS-docker, provides a docker-compose based distributionof theChRIS system including:

Image tags are pinned to stable versions, sominiChRIS might beout-of-date with development versions ofChRIS components.Please visit the repositories linked above for instructionson how to run development environments for the latest versions.

Which ChRIS???

  • miniChRIS-docker is the easiest, fastest, and most portable way to run a "demo" ofChRIS.
  • ChRIS_ultron_backEnd runs theChRIS backend in development mode and works with either Docker or Podman.
  • fnndsc/charts Helm repository is for production.

Caution

miniChRIS is not suitable for production. It contains hard-coded secrets and insecure defaults.

System Requirements

miniChRIS requires docker-compose version v2.6 or above.

Quick Start

git clone https://github.com/FNNDSC/miniChRIS-docker.gitcd miniChRIS-docker./minichris.sh

By default, only some ofChRIS is enabled. Optional components can be started afterwards usingDocker Compose Profiles. e.g.

# start PACS query and retrieve servicesdocker compose --profile pacs up -d# start the Hasura GraphQL engine and database event triggersdocker compose --profile hasura up -d

Usage

A default superuserchris:chris1234 is created.

websiteURL
ChRIS_uihttp://localhost:8020/
ChRIS adminhttp://localhost:8000/chris-admin/
Orthanchttp://localhost:8042/

Default Logins

websiteusernamepassword
ChRISchrischris1234

Start

./minichris.sh

Stop

./unmake.sh

Not Working?

  1. Make sure you havedocker anddocker-compose both installed and working properly.
  2. Stop all running containers.
  3. No process should be bound to ports 5005, 5010, 5055, 8000, 8010, 8020, 8021

Still Not Working?

Trydocker compose down -v --remove-orphans.

Add Plugins to CUBE

Plugins are added toChRIS via the Django admin dashboard.Documentation:https://chrisproject.org/docs/tutorials/upload_plugin#using-the-django-dashboard

Alternatively, plugins can be added declaratively.A common use case would be to run locally built Pythonchris_plugin-basedChRIS plugins. These can be added usingchrisomatic bylisting their (docker) image tags. For example, if your local imagewas built with the taglocalhost/myself/pl-workinprogress by running

docker build -t localhost/myself/pl-workinprogress.

The bottom of yourchrisomatic.yml file should look like

plugins:    -name:pl-dircopyversion:2.1.1    -name:pl-tsdircopyversion:1.2.1    -name:pl-topologicalcopyversion:0.2    -name:pl-simpledsappversion:2.1.0    -localhost/myself/pl-workinprogress

After modifyingchrisomatic.yml, apply the changes by rerunning./minichris.sh

For details, seehttps://github.com/FNNDSC/chrisomatic#plugins-and-pipelines

Github Actions

miniChRIS can be used as a step in GitHub Actions workflows to spin upan ephemeral instance of the ChRIS backend and its ancillary servicesfor the purpose of end-to-end testing.

on:[push]jobs:hello_world_job:runs-on:ubuntu-latestname:Do nothing usefulsteps:    -name:setup CUBEid:cubeuses:FNNDSC/miniChRIS-docker@master    -name:make a requestrun:curl -u chris:chris1234 http://localhost:8000/api/v1/

Adding Plugins

plugins should be a whitespace-separated list of plugin identifiers.Lines starting with# are treated as comments and ignored.Plugin identifiers are interpreted bychrisomatic as described here:https://github.com/fnndsc/chrisomatic#plugins-and-pipelines

Example

on:[push]jobs:hello_world_job:runs-on:ubuntu-latestname:Do nothing usefulsteps:    -name:setup CUBEid:cubeuses:FNNDSC/miniChRIS-docker@masterwith:plugins:|          https://chrisstore.co/api/v1/plugins/157/          pl-lung_cnp          ghcr.io/fnndsc/pl-re-sub:1.1.1

Optimization

Suppose you want to run a test which needs theCUBE server, database, and oxidicom, but you don't need to be able to run plugins.You can omit the workers and pfcon from startup, which can improve startup speeds and reduce memory usage.

on:[push]jobs:hello_world_job:runs-on:ubuntu-latestname:Do nothing usefulsteps:    -name:setup CUBEid:cubeuses:FNNDSC/miniChRIS-docker@masterwith:services:chris oxidicom

Examples

AboutminiChRIS

Goals

  • fast and minimal
  • practical for E2E testing

Non-Goals

  • production use
  • back-end development environment

Performance

./minichris.sh takes 30-60 seconds on a decent laptop (quad-core, 8GB memory, SSD)and takes 2-3 minutes inGithub Actions' Ubuntu VMs.

About

Easiest way to run ChRIS locally.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp