Ripkelab / ricopili

Main ricopili repo for public releases
42 stars 23 forks source link

Building a docker image with ricopili #57

Open oskarvid opened 6 years ago

oskarvid commented 6 years ago

The current installation process seems to demand interactive input from the user, but this makes it impossible to automatically install it in a docker image. Would it be possible to add a configuration option that predefines all paths and other requirements to make it possible to install ricopili into a docker image? It could be something like "./rp_config --use-config config-file.conf" where config-file.conf contains everything that would otherwise have been provided manually by the person installing it. What do you think?

rkwalters commented 6 years ago

Hi,

The only things rp_config does are to write a config file and prompt the user to add a couple things to their bashrc (or equivalent) to update the PATH and save a location for perl packages (after saving a backup copy of bashrc). If you're willing to write your own config file there's no real need to run rp_config, you can set everything up manually without it.

I'm less certain you're going to be able to run ricopili effectively from within a docker though? Ricopili is fairly deeply attached to being able to directly interact with the job scheduler, persist files between different submitted tasks, etc in ways that aren't terribly compatible with most of the docker use patterns I've seen unless you're going to hamstring ricopili to always run as --serial. (Not saying it's impossible, just encouraging you to think carefully about how you're going to address the workflow that currently flows through the "./rp_bin/blueprint" script before sinking too much time into installing ricopili in a docker.)

Cheers, Raymond

On Sep 3, 2018, at 9:30 AM, Oskar Vidarsson notifications@github.com wrote:

The current installation process seems to demand interactive input from the user, but this makes it impossible to automatically install it in a docker image. Would it be possible to add a configuration option that predefines all paths and other requirements to make it possible to install ricopili into a docker image? It could be something like "./rp_config --use-config config-file.conf" where config-file.conf contains everything that would otherwise have been provided manually by the person installing it. What do you think?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Nealelab/ricopili/issues/57, or mute the thread https://github.com/notifications/unsubscribe-auth/AILEvQKFT96zw__j6fYECvfJICeOVMJSks5uXS76gaJpZM4WXn9F.

stephanripke commented 5 years ago

so after some months I think we got a bit further on both topics.

1) there is a custom-installation that work on all environments without going into the source code. we are starting to get first experience reports and it's not perfect but you might want to look into it. please look into this here: https://docs.google.com/document/d/14aa-oeT5hF541I8hHsDAL_42oyvlHRC5FWR7gir4xco/edit?ts=5c041ab9#heading=h.clyzm24wfoeu

2) it's now possible to run ricopili is serial mode but with using multiple cores on the local machine (--serial and --sepa INT)

let me know if this helps anything.

mchimenti commented 5 years ago

Question about point 2 above: Could I use ricopili in serial mode with --serial and --sepa INT and then submit that command line to qsub on only one full node?

For example: qsub -q our_q -N ricopili ricopili --serial --sepa 28 ....