https://github.com/fnndsc/chris-in-a-box
ChRIS in a box
https://github.com/fnndsc/chris-in-a-box
edge podman rdhe
Last synced: 3 months ago
JSON representation
ChRIS in a box
- Host: GitHub
- URL: https://github.com/fnndsc/chris-in-a-box
- Owner: FNNDSC
- License: gpl-3.0
- Created: 2023-03-28T22:21:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-17T01:44:43.000Z (over 1 year ago)
- Last Synced: 2025-01-09T10:19:39.057Z (5 months ago)
- Topics: edge, podman, rdhe
- Language: Shell
- Homepage: https://fnndsc.github.io/ChRIS-in-a-box/
- Size: 316 KB
- Stars: 0
- Watchers: 8
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Description
#  ChRIS in a boxWith 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.

[](LICENSE)
Run [_ChRIS_](https://chrisproject.org/) using [Podman](https://podman.io).
## Technical Overview
ChRIS in a box is intended to run the components of ChRIS application as containers using Podman and Microshift depending on the choice of deployment.
The folder _podman_ provides YAML files which can be read by `podman play kube` to run _ChRIS_.
At 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_.
_ChRIS in a box_ runs applications in "production mode" (where applicable)
To use a specific backend service please refer to the project source repositories instead, e.g. https://github.com/FNNDSC/ChRIS_ultron_backEndImage tags are pinned to stable versions, so _chris in a box_ may be out-of-date with development versions of _ChRIS_ components.
## Prerequisties
### System Requirements
_ChRIS in a box_ requires Podman version 4.3 or above.
We aim to support "out-of-the-box" setups of rootless Podman (using slirp4netns).```
CPU: x4 cores
RAM: 16GB
Storage: ~500GB
```Supported OS: Fedora Silverblue 37, Ubuntu 22.04, Arch Linux
(Click to expand) Notes about installing Podman on Arch Linux.
On Arch Linux, please consult the wiki: https://wiki.archlinux.org/title/Podman
Here's what worked for me (possibly helpful, definitely outdated info)
```shell
sudo pacman -Syu podman
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
```Whether you're using Podman or Kubernetes, make sure your system is mostly not
running anything which might interfere with _miniChRIS_.- Existing container/pod names might clash with _miniChRIS_.
Make sure the output of `podman ps -a` or `kubectl get pods` is empty-ish.
- Running servers might clash with _miniChRIS_, which wants to bind TCP ports
5005, 5010, 8000, 8010, 8080, 8020, and 8021.## Podman - Install ChRIS
```bash
./podman/minichris.sh up
```## Podman - Uninstall ChRIS
```bash
./podman/minichris.sh down
```## Podman Desktop - Install ChRIS



## Podman Desktop - UnInstall ChRIS
This is a work in progress## Application Startup & Performance
On a fast computer with good internet speed, running `./podman/minichris.sh up`
for the first time (pulls images) takes about 1.5 to 2 minutes.
Subsequent runs will be faster, about 40 seconds.## MicroShift
Work in Progress
### Developer's Notes: On Podman
YAML files in `podman/kube` should be interoperable between Podman and Kubernetes.
Podman supports a subset of the Kubernetes manifest spec:
Pod, Deployment, PersistentVolumeClaim, ConfigMap## Open Issues
Ideally, 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.
For more information please go to https://github.com/FNNDSC/ChRIS_ultron_backEnd/issues/505There is an undocumented behavior of Podman where the host is visible to the container
via the name `host.containers.internal`, and we're able to talk to pfcon via the bound
host port.#### Management Cluster
https://console-openshift-console.apps.edge-mgr.nerc.mghpcc.org/#### Recommended Reading
- https://docs.podman.io/en/stable/markdown/podman-kube-play.1.html#podman-kube-play-support
- https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md
- https://github.com/FNNDSC/chris-in-a-box/wiki/
- https://github.com/containers/podman
- https://www.freedesktop.org/software/systemd/man/systemd.unit.html
## Contact
- Contributors: Raghuram.Banda , Máirín Duffy.
- Github Issues: https://github.com/FNNDSC/chris-in-a-box/issues
- Matrix: https://matrix.to/#/#chris-general:fedora.im