From 86f515fb6ab29257b3707f521c30ae9f5aecabd6 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 16 Sep 2026 13:57:24 +0100 Subject: [PATCH 1/4] Update Renovate schedule and add custom managers --- .github/renovate.json | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/renovate.json b/.github/renovate.json index c54154b..0b3e5d8 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -5,7 +5,7 @@ "helpers:pinGitHubActionDigestsToSemver" ], "timezone": "Europe/London", - "schedule": ["after 9am and before 5pm every weekday"], + "schedule": ["after 5am and before 5pm every weekday"], "dependencyDashboard": true, "assignees": ["jimboid"], "minimumReleaseAge": "3 days", @@ -15,5 +15,34 @@ "groupName": "GitHub Actions", "addLabels": ["ci", "dependencies"] } + ], + "customManagers": [ + { + "customType": "regex", + "managerFilePatterns": [ + "/(^|/)Dockerfile[^/]*$/" + ], + "matchStringsStrategy": "recursive", + "matchStrings": [ + "pip3? install[\\s\\S]*?(?(?:[\\w.-]+==[\\w.-]+[\\s\\\\]*)+)", + "(?[\\w.-]+)==(?[\\w.-]+)" + ], + "datasourceTemplate": "pypi", + "versioningTemplate": "pep440" + }, + { + "customType": "regex", + "managerFilePatterns": [ + "/(^|/)Dockerfile[^/]*$/" + ], + "matchStringsStrategy": "recursive", + "matchStrings": [ + "(?:mamba|conda) install[\\s\\S]*?(?(?:(?:[\\w-]+::)?[\\w.-]+=[\\w.-]+[\\s\\\\]*)+)", + "(?:(?[\\w-]+)::)?(?[\\w.-]+)=(?[\\w.-]+)" + ], + "datasourceTemplate": "conda", + "registryUrlTemplate": "https://api.anaconda.org/package/{{#if channel}}{{channel}}{{else}}conda-forge{{/if}}/", + "versioningTemplate": "pep440" + } ] } From a4ac4e952ee7c1b618f7bb3d7c73d07ae74cb96f Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 16 Sep 2026 16:00:12 +0100 Subject: [PATCH 2/4] Refactor Dockerfile for dependency installation Updated Dockerfile to install dependencies using conda and pip, and removed RabbitMQ installation. --- docker/Dockerfile | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 0595031..edc3f00 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,34 +5,24 @@ FROM ghcr.io/ccpbiosim/jupyterhub-base:$BASE_IMAGE LABEL maintainer="James Gebbie-Rayet " ARG TARGETPLATFORM -USER root -WORKDIR /opt/ - -# Install RabbitMQ for Mac +# Install curl and unzip RUN apt-get update --yes && \ apt-get install --yes --no-install-recommends \ curl \ - ca-certificates \ - erlang \ unzip && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ - wget -c --no-check-certificate https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.14/rabbitmq-server-generic-unix-3.10.14.tar.xz && \ - tar -xf rabbitmq-server-generic-unix-3.10.14.tar.xz && \ - rm rabbitmq-server-generic-unix-3.10.14.tar.xz && \ - ln -sf /opt/rabbitmq_server-3.10.14/sbin/* /usr/local/bin/ && \ - chown -R 1000:100 /opt/rabbitmq_server-3.10.14 USER $NB_USER WORKDIR $HOME # Python Dependencies for the md_workshop -RUN mamba install -c conda-forge -y aiida-core -RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ - mamba install conda-forge/linux-64::gromacs=2024.5=nompi_h5f56185_100 -y; \ - elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ - mamba install conda-forge/linux-aarch64::gromacs=2024.5=nompi_h9afd374_100 -y; \ - fi -RUN pip3 install aiida-gromacs mdtraj vermouth +RUN conda install -y -c conda-forge \ + conda-forge::aiida-core=2.9.2 \ + conda-forge::aiida-gromacs=2.2.2 \ + conda-forge::gromacs=2026.3=nompi_* +RUN pip install --no-cache-dir \ + mdtraj==1.11.1.post2 \ + vermouth==0.15.0 RUN git clone https://github.com/PSDI-UK/aiida-gromacs.git && \ mv aiida-gromacs/examples/PTH2R_coarse-grained_files . && \ @@ -41,8 +31,6 @@ RUN git clone https://github.com/PSDI-UK/aiida-gromacs.git && \ RUN echo "./aiida-start" >> ~/.bashrc COPY --chown=1000:100 docker/default-37a8.jupyterlab-workspace /home/jovyan/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace -COPY --chown=1000:100 aiida-start /home/jovyan/ -COPY --chown=1000:100 aiida-stop /home/jovyan/ # Always finish with non-root user as a precaution. USER $NB_USER From b6acd848e85c8b6d80effec8b63ba9f322e7da64 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 16 Sep 2026 16:05:03 +0100 Subject: [PATCH 3/4] Remove curl and unzip installation from Dockerfile Removed installation of curl and unzip from Dockerfile. --- docker/Dockerfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index edc3f00..3519da1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,13 +5,6 @@ FROM ghcr.io/ccpbiosim/jupyterhub-base:$BASE_IMAGE LABEL maintainer="James Gebbie-Rayet " ARG TARGETPLATFORM -# Install curl and unzip -RUN apt-get update --yes && \ - apt-get install --yes --no-install-recommends \ - curl \ - unzip && \ - apt-get clean && rm -rf /var/lib/apt/lists/* && \ - USER $NB_USER WORKDIR $HOME From ffba05c5d343ff03ef3131db4f9f8489372fd03b Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 16 Sep 2026 16:07:45 +0100 Subject: [PATCH 4/4] Update conda install command for aiida-gromacs --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 3519da1..6a9f3b8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,9 +9,9 @@ USER $NB_USER WORKDIR $HOME # Python Dependencies for the md_workshop -RUN conda install -y -c conda-forge \ +RUN conda install -y -c conda-forge -c ccpbiosim \ conda-forge::aiida-core=2.9.2 \ - conda-forge::aiida-gromacs=2.2.2 \ + ccpbiosim::aiida-gromacs=2.2.2 \ conda-forge::gromacs=2026.3=nompi_* RUN pip install --no-cache-dir \ mdtraj==1.11.1.post2 \