|
| 1 | +# Collection of global images for renkulab |
| 2 | + |
| 3 | +The subdirectories here contain basic spec for images that can be used in global session launchers in RenkuLab. |
| 4 | +They are built using [buildpacks](https://github.com/SwissDataScienceCenter/renku-frontend-buildpacks/) and contain |
| 5 | +some basic libraries. Consult the environment definition files in the subdirectories to see which packages they contain. |
| 6 | + |
| 7 | +## Building |
| 8 | + |
| 9 | +To build the images, install [pack](https://buildpacks.io/docs/for-platform-operators/how-to/integrate-ci/pack/) then run: |
| 10 | + |
| 11 | +```shell |
| 12 | +$ make all |
| 13 | +``` |
| 14 | + |
| 15 | +## Configuration |
| 16 | + |
| 17 | +There are a few environment variables you can set to modify the build. |
| 18 | + |
| 19 | +| Environment Variable | Description | Default | |
| 20 | +------------------------------------------------ |
| 21 | +| BUILDER | Builder image to use | ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/selector:0.0.6 | |
| 22 | +| DOCKER_PREFIX | Prefix to use for the image | None | |
| 23 | +| FRONTEND | The frontend to add (vscodium or jupyterlab) | vscodium | |
| 24 | +| PUBLISH | Push the image to the registry | False | |
| 25 | +| RUN_IMAGE | Run image to use | ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/base-image:0.0.6 | |
| 26 | +| TAGS | Comma-separated list of image names | None | |
| 27 | + |
| 28 | +## Adding packages to existing images |
| 29 | + |
| 30 | +The python images use poetry (< 2.0) for dependency management. Use poetry to add packages, for example: |
| 31 | + |
| 32 | +```bash |
| 33 | +$ cd datascience |
| 34 | +$ poetry add tensorflow |
| 35 | +``` |
| 36 | + |
| 37 | +Make sure `pyproject.toml` and `poetry.lock` are updated and push the changes. |
| 38 | + |
| 39 | +## Adding additional images |
| 40 | + |
| 41 | +To configure an additional image spec to be built, follow these steps: |
| 42 | + |
| 43 | +- create a new sub-directory with the corresponding environment definition file |
| 44 | +- add the new directory name to the Makefile targets |
| 45 | +- add the directory name to the `FLAVOR` list in the build matrix in `build-global-renkulab-images.yml` |
| 46 | + |
| 47 | +## Publishing |
| 48 | + |
| 49 | +These images are automatically built and published by a GitHub Action whenever the repository is tagged. |
0 commit comments