rdmorganiser / rdmo-docker-compose

RDMO running in different docker images held together by docker compose
Apache License 2.0
3 stars 13 forks source link

Refactoring Docker-Setup #18

Closed m6121 closed 2 years ago

m6121 commented 2 years ago

Hi @triole,

this is an issue that aims at discussing potential setups in order to further ease the use of RDMO running inside docker. Although the current implementation using local images with the help of a makefile is working very well, I think it could be further improved towards implementing docker best practices.

As a user, I would like to have a single docker-compose.yml file that contains, all configuration of the docker setup. Furthermore, as in other projects it would be great if the images are centrally provided such as in the Docker Hub so that these need to be pulled only. This setup dramatically eases upgrades by pulling and starting up new images.

I see the advantage of building the images locally in order to easily create and use the current user ID to run processes inside the docker container, especially, because of the use of the docker volumes. But is it really needed to have the VE and the RDMO-App as a docker volume? Instead, the RDMO configuration file local.py as well as a rdmo theme might be integrated using docker volumes. This allows for central provision of the docker images. For rewriting the user ID when starting the container, a similar approach than in the Jupyter Docker images might be used: https://github.com/jupyter/docker-stacks/blob/fbd5c88596df5139e16aa3b13fbb6dddc98c66be/base-notebook/start.sh#L84-L91 Or user namespaces might be used: https://docs.docker.com/engine/security/userns-remap/

Looking forward to your ideas on this setup.

Best regards Max

triole commented 2 years ago

I started refactoring a few things because I feel that we could improve the setup.

This is the pull request: https://github.com/rdmorganiser/rdmo-docker-compose/pull/19

The goal is to merge it into master at some point in the future.

triole commented 2 years ago

Closing this because branch is already merged to master.