1+ # VERSION: 2025.08.29
2+
13FROM ubuntu:24.04 AS builder
24
35ARG MINIFORGE_VERSION=24.1.2-0
@@ -69,27 +71,49 @@ RUN pip install pip-system-certs
6971
7072WORKDIR /
7173
74+ RUN repo=q2-metadata; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.0.tar.gz | tar -xz --strip-components=1 -C /$repo
75+ RUN repo=q2-mystery-stew; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.0.tar.gz | tar -xz --strip-components=1 -C /$repo
76+ RUN repo=q2-types; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.0.tar.gz | tar -xz --strip-components=1 -C /$repo
77+ RUN repo=q2cli; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.1.tar.gz | tar -xz --strip-components=1 -C /$repo
78+ RUN repo=q2templates; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.0.tar.gz | tar -xz --strip-components=1 -C /$repo
79+ RUN repo=qiime2; mkdir -p /$repo && wget -O- https://github.com/qiime2/$repo/archive/refs/tags/${QIIME2RELEASE}.1.tar.gz | tar -xz --strip-components=1 -C /$repo
80+
81+ COPY requirements.txt ./requirements.txt
82+ RUN conda install cython
83+ RUN pip wheel --no-cache-dir --wheel-dir /wheels -r requirements.txt
84+ RUN pip install iow
85+
86+
87+
88+ # ==========================
89+ # Stage 2: Runtime
90+ # ==========================
91+ FROM python:3.8-slim
92+
93+ # python package compile in build stage
94+ COPY --from=builder /wheels /wheels
95+
96+ RUN pip install --no-cache-dir /wheels/* \
97+ && rm -rf rm -rf `find /usr/local/lib/python3.8/site-packages -type d -name "tests" | grep -v numpy`
98+
7299COPY start_qtp-visualization.sh .
73100RUN chmod 755 start_qtp-visualization.sh
74101
75102RUN mkdir -p /unshared_plugins
76103ENV QIITA_PLUGINS_DIR=/unshared_plugins/
77104
105+ COPY trigger_noconda.py /trigger.py
106+
78107# # Export cert and config filepaths
79108COPY qiita_server_certificates/qiita_server_certificates.pem /qiita_server_certificates/qiita_server_certificates.pem
80109ENV REQUESTS_CA_BUNDLE=/qiita_server_certificates/qiita_server_certificates.pem
81110ENV SSL_CERT_FILE=/qiita_server_certificates/qiita_server_certificates.pem
82111
83- # RUN export QIITA_ROOTCA_CERT=/unshared_certificates/ci_rootca.crt
84- RUN chmod u+x /qtp-visualization/scripts/configure_visualization_types /qtp-visualization/scripts/start_visualization_types
112+ RUN chmod u+x /usr/local/bin/configure_visualization_types /usr/local/bin/start_visualization_types
85113COPY qiita_server_certificates/*_server.* /qiita_server_certificates/
86- RUN /qtp-visualization/scripts/configure_visualization_types --env-script "true" --server-cert `find /qiita_server_certificates/ -name "*_server.crt" -type f`
114+ # qiime2 expects to have a CONDA_PREFIX set, see https://github.com/qiime2/qiime2/blob/812fd09cf80b4ed76c1f39827ae2dba729448436/qiime2/sdk/parallel_config.py#L30
115+ ENV CONDA_PREFIX=/usr/local
116+ RUN configure_visualization_types --env-script "true" --server-cert `find /qiita_server_certificates/ -name "*_server.crt" -type f`
87117RUN sed -i -E "s/^START_SCRIPT = .+/START_SCRIPT = python \/ start_plugin.py qtp-visualization/" /unshared_plugins/*.conf
88118
89- CMD ["./start_qtp-visualization.sh" ]
90-
91- # # ==========================
92- # # Stage 2: Runtime
93- # # ==========================
94- # FROM python:3.8-slim
95-
119+ CMD ["./start_qtp-visualization.sh" ]
0 commit comments