Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 1 month 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-17T01:44:43.000Z (about 1 year ago)
- Last Synced: 2024-06-11T20:57:00.570Z (6 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 logo](https://raw.githubusercontent.com/FNNDSC/ChRIS_ultron_backEnd/master/docs/assets/logo_chris.png) 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.
![image](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/f30eb698-8b62-415f-9a8b-02f6d55d7645)
[![MIT license](https://img.shields.io/github/license/FNNDSC/chris-in-a-box)](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
![Screenshot from 2023-07-30 00-07-16](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/b16e81eb-3bca-4528-a021-4dc749abfc50)![Screenshot from 2023-07-30 00-09-56](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/13152eb7-e486-4c65-bb44-14568b79c5c8)
![Screenshot from 2023-07-30 00-10-55](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/612b4917-d20f-43a5-9558-22f4346ec79b)
![Screenshot from 2023-07-30 00-11-54](https://github.com/FNNDSC/ChRIS-in-a-box/assets/93591339/8585abd8-5a5a-4d51-ba0f-9862d629dd12)
## 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