{"id":19612106,"url":"https://github.com/fnndsc/chris-in-a-box","last_synced_at":"2026-08-16T07:33:47.284Z","repository":{"id":163468855,"uuid":"620542193","full_name":"FNNDSC/ChRIS-in-a-box","owner":"FNNDSC","description":"ChRIS in a box","archived":false,"fork":false,"pushed_at":"2023-11-17T01:44:43.000Z","size":324,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-05-19T00:57:45.968Z","etag":null,"topics":["edge","podman","rdhe"],"latest_commit_sha":null,"homepage":"https://fnndsc.github.io/ChRIS-in-a-box/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FNNDSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-28T22:21:45.000Z","updated_at":"2023-04-18T23:01:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"591126f0-592c-4ed3-b52d-ca036a6bfef6","html_url":"https://github.com/FNNDSC/ChRIS-in-a-box","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FNNDSC/ChRIS-in-a-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNNDSC%2FChRIS-in-a-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNNDSC%2FChRIS-in-a-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNNDSC%2FChRIS-in-a-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNNDSC%2FChRIS-in-a-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FNNDSC","download_url":"https://codeload.github.com/FNNDSC/ChRIS-in-a-box/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNNDSC%2FChRIS-in-a-box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36706791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-16T02:00:06.462Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["edge","podman","rdhe"],"created_at":"2024-11-11T10:45:51.241Z","updated_at":"2026-08-16T07:33:47.264Z","avatar_url":"https://github.com/FNNDSC.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n# ![ChRIS logo](https://raw.githubusercontent.com/FNNDSC/ChRIS_ultron_backEnd/master/docs/assets/logo_chris.png) ChRIS in a box\n\n\nWith a build once, run anywhere approach, ChRIS in a Box allows the ability to access and use ChRIS on Edge Computing Devices that are deployed in facilities who would like to leverage the capabilities of ChRIS. \n\n![image](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/f30eb698-8b62-415f-9a8b-02f6d55d7645)\n\n\n[![MIT license](https://img.shields.io/github/license/FNNDSC/chris-in-a-box)](LICENSE)\n\nRun [_ChRIS_](https://chrisproject.org/) using [Podman](https://podman.io).\n\n## Technical Overview\n\nChRIS in a box is intended to run the components of ChRIS application as containers using Podman and Microshift depending on the choice of deployment. \n\nThe folder _podman_ provides YAML files which can be read by `podman play kube` to run _ChRIS_.\n\nAt the moment it is insecure and not be used in production. However, we aim for make changes so that it can run in production. This is a good starting point for writing production-ready configurations of _ChRIS_.\n\n_ChRIS in a box_ runs applications in \"production mode\" (where applicable)\nTo use a specific backend service please refer to the project source repositories instead, e.g. https://github.com/FNNDSC/ChRIS_ultron_backEnd\n\nImage tags are pinned to stable versions, so _chris in a box_ may be out-of-date with development versions of _ChRIS_ components.\n\n\n## Prerequisties\n\n### System Requirements\n\n_ChRIS in a box_ requires Podman version 4.3 or above.\nWe aim to support \"out-of-the-box\" setups of rootless Podman (using slirp4netns).\n\n```\n   CPU: x4 cores\n   RAM: 16GB\n   Storage: ~500GB\n```\n\nSupported OS: Fedora Silverblue 37, Ubuntu 22.04, Arch Linux\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(Click to expand) Notes about installing Podman on Arch Linux.\n\u003c/summary\u003e\n\nOn Arch Linux, please consult the wiki: https://wiki.archlinux.org/title/Podman\n\nHere's what worked for me (possibly helpful, definitely outdated info)\n\n```shell\nsudo pacman -Syu podman\nsudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER\n```\n\n\u003c/details\u003e\n\nWhether you're using Podman or Kubernetes, make sure your system is mostly not\nrunning anything which might interfere with _miniChRIS_.\n\n- Existing container/pod names might clash with _miniChRIS_.\n  Make sure the output of `podman ps -a` or `kubectl get pods` is empty-ish.\n- Running servers might clash with _miniChRIS_, which wants to bind TCP ports\n  5005, 5010, 8000, 8010, 8080, 8020, and 8021.\n\n## Podman - Install ChRIS\n\n```bash\n./podman/minichris.sh up\n```\n\n## Podman - Uninstall ChRIS\n```bash\n./podman/minichris.sh down\n```\n\n\n## Podman Desktop - Install ChRIS\n![Screenshot from 2023-07-30 00-07-16](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/b16e81eb-3bca-4528-a021-4dc749abfc50)\n\n![Screenshot from 2023-07-30 00-09-56](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/13152eb7-e486-4c65-bb44-14568b79c5c8)\n\n![Screenshot from 2023-07-30 00-10-55](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/612b4917-d20f-43a5-9558-22f4346ec79b)\n\n![Screenshot from 2023-07-30 00-11-54](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/8585abd8-5a5a-4d51-ba0f-9862d629dd12)\n\n\n\n## Podman Desktop - UnInstall ChRIS\nThis is a work in progress\n\n## Application Startup \u0026 Performance\nOn a fast computer with good internet speed, running `./podman/minichris.sh up`\nfor the first time (pulls images) takes about 1.5 to 2 minutes.\nSubsequent runs will be faster, about 40 seconds.\n\n## MicroShift\n\nWork in Progress\n\n\u003c!--\n## ChRIS URLs\n\nwebsite        | URL\n---------------|-----\nChRIS_ui       | http://localhost:8020/\nChRIS admin    | http://localhost:8000/chris-admin/\nChRIS_store_ui | http://localhost:8021/\nOrthanc        | http://localhost:8042/\n--\u003e\n\n\u003c!--\n\n## Note\n\nFor more information on how to run the user interface, please refer to https://github.com/FNNDSC/ChRIS_ui#readme\n\n### Adding Plugins\n\n[_chrisomatic_](https://github.com/FNNDSC/chrisomatic) is an easy way to\nadd plugins to _CUBE_. Currently, only adding plugins from https://chrisstore.co\nis supported.\n\nTo add plugins, append the name of the plugin to `podman/chrisomatic.yml`\nand then run\n\n```shell\npodman/minichris.sh chrisomatic\n```\n\n### Adding Plugins to CUBE\n\nPlugins are added to _ChRIS_ via the Django admin dashboard.\n\nhttps://github.com/FNNDSC/ChRIS_ultron_backEnd/wiki/%5BHOW-TO%5D-Register-a-plugin-via-Django-dashboard\n\nAlternatively, plugins can be added declaratively.\nA common use case would be to run locally built Python\n[`chris_plugin`](https://github.com/FNNDSC/chris_plugin)-based\n_ChRIS_ plugins. These can be added using `chrisomatic` by\nlisting their (docker) image tags. For example, if your local image\nwas built with the tag `localhost/myself/pl-workinprogress` by running\n\n```shell\npodman build -t localhost/myself/pl-workinprogress .\n```\n\nThe bottom of your `podman/chrisomatic.yml` file should look like\n\n```yaml\n  plugins:\n    - name: pl-dircopy\n      version: 2.1.1\n    - name: pl-tsdircopy\n      version: 1.2.1\n    - name: pl-topologicalcopy\n      version: 0.2\n    - name: pl-simpledsapp\n      version: 2.1.0\n    - localhost/myself/pl-workinprogress\n```\n\nAfter modifying `chrisomatic.yml`, apply the changes by running `./chrisomatic.sh`\n\nFor details, see https://github.com/FNNDSC/chrisomatic#plugins-and-pipelines\n--\u003e\n\n### Developer's Notes: On Podman\nYAML files in `podman/kube` should be interoperable between Podman and Kubernetes.\nPodman supports a subset of the Kubernetes manifest spec:\nPod, Deployment, PersistentVolumeClaim, ConfigMap\n\n## Open Issues\nIdeally, to add _pfcon_ to _CUBE_ we should be using the pod name of pfcon `http://minichris-pfcon:5005/api/v1/`but it won't work.\nFor more information please go to https://github.com/FNNDSC/ChRIS_ultron_backEnd/issues/505\n\nThere is an undocumented behavior of Podman where the host is visible to the container\nvia the name `host.containers.internal`, and we're able to talk to pfcon via the bound\nhost port.\n\n\n#### Management Cluster\nhttps://console-openshift-console.apps.edge-mgr.nerc.mghpcc.org/\n\n\n#### Recommended Reading\n- https://docs.podman.io/en/stable/markdown/podman-kube-play.1.html#podman-kube-play-support\n- https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md\n- https://github.com/FNNDSC/chris-in-a-box/wiki/\n- https://github.com/containers/podman\n- https://www.freedesktop.org/software/systemd/man/systemd.unit.html\n  \n## Contact\n- Contributors: Raghuram.Banda , Máirín Duffy.\n- Github Issues: https://github.com/FNNDSC/chris-in-a-box/issues\n- Matrix: https://matrix.to/#/#chris-general:fedora.im\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnndsc%2Fchris-in-a-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffnndsc%2Fchris-in-a-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnndsc%2Fchris-in-a-box/lists"}