# Define the base image FROM knime/knime-full:r-5.2.5-593-with-python # Define the list of update sites and features ENV KNIME_UPDATE_SITES="https://update.knime.com/analytics-platform/5.2/5.2.5, https://update.knime.com/community-contributions/trusted/5.2, https://update.knime.com/partner/5.2, https://update.knime.com/community-contributions/5.2" # Install features from the update sites ENV KNIME_FEATURES="org.knime.features.bigdata.testing.feature.group,org.knime.features.filehandling.core.testing.feature.group,org.knime.features.testing.js.feature.group,org.knime.features.wizard.feature.group,com.knime.features.workbench.hubview.feature.group,BfR_UDG.FoodDecide.features.Supply_chain_visualization.feature.group,com.continental.knime.feature.feature.group,de.mpicbg.tds.knime.scripting.python.feature.feature.group,de.mpicbg.tds.knime.scripting.r.feature.feature.group,org.knime.features.time_series.feature.group,org.knime.python.features.web.feature.group,org.knime.knip.feature.feature.group,org.knime.knip.knimepython.feature.feature.group,org.lhasalimited.knime.public.feature.feature.group,org.openscience.cdk.knime.feature.feature.group,de.openms.feature.feature.group,de.openms.knime.dynamicJSViewers.feature.feature.group,de.openms.thirdparty.feature.feature.group,associates.ai.knime.dsp.feature.source.feature.group,com.continental.knime.feature.source.feature.group,com.equo.chromium.feature.source.feature.group,com.knime.features.explorer.sharedspace.feature.group,com.knime.features.licenses.feature.group,com.knime.features.pmml.compilation.java.jario.feature.group,com.knime.features.reportbatch.feature.group,com.vernalis.knime.testing.feature.feature.group,de.bund.bfr.knime.esri.feature.source.feature.group,org.eclipse.ecf.core.feature.source.feature.group,org.eclipse.ecf.core.ssl.feature.source.feature.group,org.knime.features.activelearning.source.feature.group,org.knime.features.ai.assistant.source.feature.group,org.knime.features.audio.source.feature.group,org.knime.features.base.filehandling.source.feature.group,org.knime.features.base.pmml.source.feature.group,org.knime.features.base.pmml2.source.feature.group,org.knime.features.base.source.feature.group,org.knime.features.base.views.source.feature.group,org.knime.features.base.widedata.source.feature.group,org.knime.features.bigdata.commons.source.feature.group,org.knime.features.bigdata.connectors.source.feature.group,org.knime.features.bigdata.externals.feature.group,org.knime.features.browser.cef.source.feature.group,org.knime.features.buildworkflows.source.feature.group,org.knime.features.clfixes.source.feature.group,org.knime.features.cloud.aws.dynamodb.source.feature.group,org.knime.features.cloud.aws.source.feature.group,org.knime.features.conda.source.feature.group,org.knime.features.core.columnar.source.feature.group,org.knime.features.core.source.feature.group,org.knime.features.core.streaming.source.feature.group,org.knime.features.core.ui.source.feature.group,org.knime.features.credentials.base.source.feature.group,org.knime.features.database.source.feature.group,org.knime.features.datageneration.source.feature.group,org.knime.features.dbdrivers.source.feature.group,org.knime.features.distmatrix.source.feature.group,org.knime.features.eclipse.feature.group,org.knime.features.eclipse.source.feature.group,org.knime.features.expressions.source.feature.group,org.knime.features.ext.exttool.source.feature.group,org.knime.features.ext.h2o.mojo.source.feature.group,org.knime.features.ext.h2o.source.feature.group,org.knime.features.ext.jep.source.feature.group,org.knime.features.ext.mdf.source.feature.group,org.knime.features.ext.office365.filehandling.source.feature.group,org.knime.features.ext.perl.source.feature.group,org.knime.features.ext.poi.source.feature.group,org.knime.features.ext.textprocessing.source.feature.group,org.knime.features.ext.webservice.client.source.feature.group,org.knime.features.externals.source.feature.group,org.knime.features.exttool.source.feature.group,org.knime.features.filehandling.core.source.feature.group,org.knime.features.filehandling.core.testing.source.feature.group,org.knime.features.javasnippet.source.feature.group,org.knime.features.jpmml.source.feature.group,org.knime.features.js.core.source.feature.group,org.knime.features.js.plotly.source.feature.group,org.knime.features.js.quickforms.source.feature.group,org.knime.features.js.views.labs.source.feature.group,org.knime.features.js.views.source.feature.group,org.knime.features.json.source.feature.group,org.knime.features.orc.source.feature.group,org.knime.features.parquet.source.feature.group,org.knime.features.product.source.feature.group,org.knime.features.python3.nodes.source.feature.group,org.knime.features.python3.nodes.testing.source.feature.group,org.knime.features.python3.scripting.source.feature.group,org.knime.features.python3.types.feature.group,org.knime.features.r.source.feature.group,org.knime.features.reporting2.source.feature.group,org.knime.features.rest.source.feature.group,org.knime.features.scm.git.source.feature.group,org.knime.features.scripting.editor.source.feature.group,org.knime.features.stats.source.feature.group,org.knime.features.stats2.source.feature.group,org.knime.features.testing.application.source.feature.group,org.knime.features.testing.js.source.feature.group,org.knime.features.timeseries.source.feature.group,org.knime.features.virtual.source.feature.group,org.knime.features.webanalytics.source.feature.group,org.knime.features.wizard.source.feature.group,org.knime.features.workbench.source.feature.group,org.knime.features.xml.source.feature.group,com.chemcomp.feature.group,org.knime.python.features.llm.feature.group,com.vernalis.knime.feature.feature.group,de.mpicbg.tds.knime.hcstools.feature.feature.group" # Install CA Certificates USER root RUN apt-get update && \ apt-get install -y ca-certificates && \ update-ca-certificates && \ rm -rf /var/lib/apt/lists/* USER knime # Execute extension installation script RUN ./install-extensions.sh # START R setup ARG DEBIAN_FRONTEND=noninteractive ARG REPOSITORIES='"https://cloud.r-project.org/", "http://rforge.net", "https://cran.us.r-project.org/", "https://bioconductor.org/packages/release/bioc/", "http://cran.r-project.org"' USER root RUN apt-get update && apt install -y r-base r-base-dev libxml2-dev && \ echo "install.packages(c(\"ggplot2\",\"data.table\",\"pmml\",\"Cairo\"), repos = c(${REPOSITORIES}))" | R --no-save && \ echo "install.packages(\"Rserve\", repos = c(${REPOSITORIES}), type=\"source\")" | R --no-save RUN echo "install.packages(c(\"tidyverse\",\"stats\",\"MASS\",\"jsonlite\",\"lme4\",\"drc\",\"robustlmm\",\"elmer\",\"openxlsx\",\"sangerseqR\"), repos = c(${REPOSITORIES}))" | R --no-save USER knime # END R setup # Conda (micromamba) included in base image # START Python Environment Setup RUN echo $'\ name: py39_knime # Name of the created environment\n\ channels: # Repositories to search for packages\n\ - conda-forge\n\ dependencies: # List of packages that should be installed\n\ - python=3.9 # Python\n\ - py4j # used for KNIME <-> Python communication\n\ - nomkl # Prevents the use of Intels MKL\n\ - pandas # Table data structures\n\ - openpyxl #Added this line to support xls writer\n\ - jedi=0.18.1 # Python script autocompletion\n\ - python-dateutil # Date and Time utilities\n\ - numpy # N-dimensional arrays\n\ - cairo # SVG support\n\ - pillow # Image inputs/outputs\n\ - matplotlib # Plotting\n\ - pyarrow=6.0 # Arrow serialization\n\ - IPython # Notebook support\n\ - nbformat # Notebook support\n\ - scipy # Notebook support\n\ - python-flatbuffers<2.0 # because tensorflow expects a version before 2\n\ - h5py<3.0 # must be < 3.0 because they changed whether str or byte is returned\n\ - protobuf>3.12 # Lower protobuf versions do not work with TensorFlow 2\n\ - libiconv # MDF Reader node\n\ - asammdf=5.19.14 # MDF Reader node\n\ - JPype1 # Databases\n\ ' > /tmp/py39_knime.yml RUN set -x && \ micromamba env create -f /tmp/py39_knime.yml # END Python Environment Setup # user root needs to do the prestart USER root # pre-start executor, to improve startup time RUN KNIME_EXECUTOR_CONNECTION_RETRIES=0 knime/knime -consolelog -nosplash -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION; rm -rf /root/knime-workspace USER knime