DIAGNijmegen / website-content

This repository stores all the content for the diag websites.
MIT License
6 stars 74 forks source link

added docker files #408

Closed JasperLinmans closed 2 years ago

JasperLinmans commented 2 years ago

What

Docker files required to build a docker which can automatically build and host one of the website. This will make building and changing the website locally easier. The docker is already live, and can be found here: doduo1.umcn.nl/webteam/website:latest. It automatically pulls the latest master branch from the website-content repository when starting a new docker instance. An additional argument can be given to automatically build and host a specific website. To do so: provide the name of the directory without the "website-" prefix.

Why

Solves GitHub issue #232

How

For instance, to automatically build and run the ai-for-health website: ./c-submit [put your c-submit arguments here] --interactive doduo1.umcn.nl/webteam/website:latest ai-for-health

Or for the diag website: ./c-submit [put your c-submit arguments here] --interactive doduo1.umcn.nl/webteam/website:latest diag

Go to port 8000 (which opens automatically) to view the website on your local machine when running the docker instance. The github repository is located in /home/user/source/website-content.

You can always build and host a specific website manually, by leaving out the additional argument in the c-submit command.

Example

A more detailed c-submit line, building the ai-for-health website as an example: ~/c-submit --priority=high --require-mem=4G --gpu-count=0 --require-cpus=1 --interactive [username] [ticket-number] 4 doduo1.umcn.nl/webteam/website:latest ai-for-health

martvanrijthoven commented 2 years ago

This looks very nice, very cool that it is compatible with the cluster!

Only one thing that we maybe can add, is a similar dockerfile that does not rely on the cluster/doduo-registry Maybe just a ubuntu base docker. This way it is not dependent on our cluster such that the docker can also run on other machines (locally, aws, etc).

JasperLinmans commented 2 years ago

Ah of course, I agree. Let's keep this PR open, I will add that as well soon.

JasperLinmans commented 2 years ago

Updated the docker files: it is now stand-alone, independent from the DIAG cluster. However, it is still compatible with the DIAG cluster: the image is stored in our image registry (webteam/website:latest) and running it will automatically expose the necessary ports.

Remaining TODOs:

JasperLinmans commented 2 years ago

Images are now copied automatically. Also, a local copy of the required bibfiles are included to be able to run parse_publications.sh.

Remaining TODOs:

JasperLinmans commented 2 years ago
JasperLinmans commented 2 years ago
martvanrijthoven commented 2 years ago

For the alternative solution you can check this dockerfile (Lines 1-18 are relevant)

JasperLinmans commented 2 years ago

Updates since last time:

The current development docker is a very light-weight docker, hosting a local version of the GitHub repository.

Remaining TODO's:

JasperLinmans commented 2 years ago

TODOs:

JasperLinmans commented 2 years ago

This concludes all current feature requests. Let's discuss and demo this during our next meeting.