diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e4fe340..7204c1b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,6 +1,3 @@ -trigger: -- main - pr: - main diff --git a/development/armadillo-rserver-survival/Dockerfile b/development/armadillo-rserver-survival/Dockerfile deleted file mode 100644 index ad03d99..0000000 --- a/development/armadillo-rserver-survival/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM datashield/armadillo-rserver:1.0.2 - -# Install dsSurvival package -ENV DSSURVIVAL_VERSION "v1.0.0" -RUN installGithub.r "neelsoumya/dsSurvival@${DSSURVIVAL_VERSION}" - -CMD R -e "MolgenisRserve::Rserve(debug=${DEBUG}, args='--vanilla --RS-set remote=enable --RS-set auth=disable --RS-set daemon=disable')" \ No newline at end of file diff --git a/development/armadillo-rserver-survival/.dockerignore b/production/armadillo-rserver-survival/.dockerignore similarity index 100% rename from development/armadillo-rserver-survival/.dockerignore rename to production/armadillo-rserver-survival/.dockerignore diff --git a/development/armadillo-rserver-survival/CHANGELOG.md b/production/armadillo-rserver-survival/CHANGELOG.md similarity index 100% rename from development/armadillo-rserver-survival/CHANGELOG.md rename to production/armadillo-rserver-survival/CHANGELOG.md diff --git a/production/armadillo-rserver-survival/Dockerfile b/production/armadillo-rserver-survival/Dockerfile new file mode 100644 index 0000000..c225224 --- /dev/null +++ b/production/armadillo-rserver-survival/Dockerfile @@ -0,0 +1,10 @@ +FROM datashield/armadillo-rserver:6.1 + +# Install surival dependency +RUN install2.r --error "survival" + +# Install dsSurvival package +ENV DS_PKG_VERSION "v1.0.0" +RUN installGithub.r "neelsoumya/dsSurvival@${DS_PKG_VERSION}" + +CMD R -e "MolgenisRserve::Rserve(debug=${DEBUG}, args='--vanilla --RS-set remote=enable --RS-set auth=disable --RS-set daemon=disable')" \ No newline at end of file diff --git a/development/armadillo-rserver-survival/README.md b/production/armadillo-rserver-survival/README.md similarity index 100% rename from development/armadillo-rserver-survival/README.md rename to production/armadillo-rserver-survival/README.md diff --git a/development/armadillo-rserver-survival/package-lock.json b/production/armadillo-rserver-survival/package-lock.json similarity index 100% rename from development/armadillo-rserver-survival/package-lock.json rename to production/armadillo-rserver-survival/package-lock.json diff --git a/development/armadillo-rserver-survival/package.json b/production/armadillo-rserver-survival/package.json similarity index 100% rename from development/armadillo-rserver-survival/package.json rename to production/armadillo-rserver-survival/package.json diff --git a/production/armadillo-rserver/Dockerfile b/production/armadillo-rserver/Dockerfile index def941c..4b0b2c0 100644 --- a/production/armadillo-rserver/Dockerfile +++ b/production/armadillo-rserver/Dockerfile @@ -2,29 +2,45 @@ FROM rocker/r-ver:4.1.1 ENV DEBUG FALSE -# Copy script to install deps -COPY scripts/install-arrow.bash / - # Install dependencies of OS to use RServe -RUN apt-get update -qq && apt-get -y --no-install-recommends install \ - libssl-dev net-tools procps lsof libcurl4-openssl-dev git +RUN apt update -qq +RUN apt -y --no-install-recommends install \ + libssl-dev \ + net-tools \ + procps \ + lsof \ + libcurl4-openssl-dev \ + git \ + cmake \ + wget \ + ca-certificates \ + lsb-release + +# Install some debug packages needed by armadillo to retrieve list of R processes +RUN install2.r --error remotes ps --repos "https://cloud.r-project.org/" -# Install up-to-date version of apache arrow +# install arrow to be able to transfer files from file storage to R-environment +# the base image is windows WSL2 image with Ubuntu Focal installed as base layer +# IMPORTANT: "focal" needs to change if you upgrade to a newer Ubuntu base layer ENV ARROW_VERSION "5.0.0" -RUN ./install-arrow.bash -RUN R -e "source('https://raw.githubusercontent.com/apache/arrow/release-${ARROW_VERSION}/r/R/install-arrow.R'); install_arrow();" +RUN wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/pool/focal/main/a/apache-arrow-apt-source/apache-arrow-apt-source_${ARROW_VERSION}-1_all.deb +RUN apt install -y ./apache-arrow-apt-source_${ARROW_VERSION}-1_all.deb +ENV LIBARROW_MINIMAL FALSE +RUN installGithub.r "apache/arrow/r@apache-arrow-${ARROW_VERSION}" -# Install some debug packages needed by armadillo to retrieve list of R processes -RUN install2.r --error remotes ps dplyr magrittr --repos "https://cloud.r-project.org/" +RUN apt update -qq +RUN apt install -y \ + libparquet-dev \ + libparquet-glib-dev # Install RServer ENV RSERVER_VERSION "0.1.2" RUN install2.r --error "https://registry.molgenis.org/repository/r-hosted/src/contrib/MolgenisRserve_${RSERVER_VERSION}.tar.gz" --repos NULL # Install dsBase package -ENV DSBASE_VERSION "6.1.0" +ENV DS_PKG_VERSION "6.1.0" RUN install2.r --error RANN stringr lme4 ggplot2 reshape2 --repos "https://cloud.r-project.org/" -RUN installGithub.r "datashield/dsBase@${DSBASE_VERSION}" +RUN installGithub.r "datashield/dsBase@${DS_PKG_VERSION}" # Startup the RServer CMD R -e "MolgenisRserve::Rserve(debug=${DEBUG}, args='--vanilla --RS-set remote=enable --RS-set auth=disable --RS-set daemon=disable')" \ No newline at end of file diff --git a/production/armadillo-rserver/README.md b/production/armadillo-rserver/README.md index 38cb986..2d4aa45 100644 --- a/production/armadillo-rserver/README.md +++ b/production/armadillo-rserver/README.md @@ -3,9 +3,8 @@ The RServer for DataSHIELD has installed collections of tools to support DataSHI ## Contents There are several DataSHIELD related dependencies installed -- [RServer](https://github.com/molgenis/Rserve/releases/tag/v0.1.2)=0.1.2 +- [RServer](https://github.com/molgenis/Rserve/releases/tag/v0.1.2) - [dsBase](https://github.com/datashield/dsBase) -- [resourcer](https://github.com/obiba/resourcer) ## Usage There are several platforms on which you can run RServer. diff --git a/production/armadillo-rserver/package.json b/production/armadillo-rserver/package.json index c3bc672..afdf8b8 100644 --- a/production/armadillo-rserver/package.json +++ b/production/armadillo-rserver/package.json @@ -1,6 +1,6 @@ { "name": "@datashield/armadillo-rserver", - "version": "1.0.0", + "version": "6.1.0", "license": "LGPL-3.0", "description": "Armadillo RServe 0.1.2 with dsBase 6.x", "repository": { diff --git a/production/armadillo-rserver/scripts/install-arrow.bash b/production/armadillo-rserver/scripts/install-arrow.bash deleted file mode 100755 index f7aecf9..0000000 --- a/production/armadillo-rserver/scripts/install-arrow.bash +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -sudo apt update -sudo apt install -y -V ca-certificates lsb-release wget -wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb -sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb -sudo apt update -sudo apt install -y -V libarrow-dev # For C++ -sudo apt install -y -V libarrow-glib-dev # For GLib (C) -sudo apt install -y -V libarrow-dataset-dev # For Apache Arrow Dataset C++ -sudo apt install -y -V libarrow-flight-dev # For Apache Arrow Flight C++ -# Notes for Plasma related packages: -# * You need to enable "non-free" component on Debian GNU/Linux -# * You need to enable "multiverse" component on Ubuntu -# * You can use Plasma related packages only on amd64 -sudo apt install -y -V libplasma-dev # For Plasma C++ -sudo apt install -y -V libplasma-glib-dev # For Plasma GLib (C) -sudo apt install -y -V libgandiva-dev # For Gandiva C++ -sudo apt install -y -V libgandiva-glib-dev # For Gandiva GLib (C) -sudo apt install -y -V libparquet-dev # For Apache Parquet C++ -sudo apt install -y -V libparquet-glib-dev # For Apache Parquet GLib (C) - - - -# https://arrow.apache.org/install/ -apt update -apt install -y -V ca-certificates lsb-release wget -if [ $(lsb_release --codename --short) = "stretch" ]; then - tee /etc/apt/sources.list.d/backports.list <