Skip to content

Commit 6fae6b5

Browse files
committed
shrink qtp-visualization
1 parent 98a65da commit 6fae6b5

File tree

5 files changed

+67
-13
lines changed

5 files changed

+67
-13
lines changed

.github/workflows/buildContainer.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
docker:
1010
strategy:
1111
matrix:
12-
plugin: ["qp-deblur", "qtp-biom", "qp-target-gene", "qtp-sequencing", "nginx"]
12+
plugin: ["qp-deblur", "qtp-biom", "qp-target-gene", "qtp-sequencing", "nginx", "qtp-visualization"]
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout repository

Images/qtp-visualization/qtp-visualization.dockerfile

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# VERSION: 2025.08.29
2+
13
FROM ubuntu:24.04 AS builder
24

35
ARG MINIFORGE_VERSION=24.1.2-0
@@ -69,27 +71,49 @@ RUN pip install pip-system-certs
6971

7072
WORKDIR /
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+
7299
COPY start_qtp-visualization.sh .
73100
RUN chmod 755 start_qtp-visualization.sh
74101

75102
RUN mkdir -p /unshared_plugins
76103
ENV QIITA_PLUGINS_DIR=/unshared_plugins/
77104

105+
COPY trigger_noconda.py /trigger.py
106+
78107
## Export cert and config filepaths
79108
COPY qiita_server_certificates/qiita_server_certificates.pem /qiita_server_certificates/qiita_server_certificates.pem
80109
ENV REQUESTS_CA_BUNDLE=/qiita_server_certificates/qiita_server_certificates.pem
81110
ENV 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
85113
COPY 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`
87117
RUN 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"]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
-e /q2-metadata
2+
-e /q2-mystery-stew
3+
-e /q2-types
4+
-e /q2cli
5+
-e /q2templates
6+
-e /qiime2
7+
8+
tornado
9+
pip-system-certs
10+
pyyaml
11+
decorator
12+
tzlocal
13+
bibtexparser
14+
psutil
15+
flufl.lock
16+
parsl
17+
appdirs
18+
tomlkit
19+
scikit-bio
20+
rnanorm
21+
seaborn
22+
jinja2
23+
ijson
24+
pyhmmer
25+
frictionless
26+
numpy
27+
28+
-e /qtp-visualization
29+
-e /qiita-files
30+
-e /qiita_client
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22

3-
cd / && python trigger.py qtp-visualization start_visualization_types /qtp-visualization
3+
cd / && python trigger.py start_visualization_types
44

55
tail -f /dev/null

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ plugin: Images/qtp-biom/trigger.py Images/qp-deblur/trigger_noconda.py $(DIR_REF
5353
$(PODMAN_BIN) build $(TMPDIR)/ -f $(TMPDIR)/`basename $<` $(PODMAN_FLAGS) -t local-`basename $< | cut -d "." -f 1`
5454
touch .built_image_`basename $< | cut -d "." -f 1`
5555

56-
.built_image_qtp-visualization: Images/qtp-visualization/qtp-visualization.dockerfile Images/qtp-visualization/start_qtp-visualization.sh
56+
.built_image_qtp-visualization: Images/qtp-visualization/qtp-visualization.dockerfile Images/qtp-visualization/start_qtp-visualization.sh Images/qtp-visualization/requirements.txt
5757
tmpdir=$(TMPDIR) $(MAKE) plugin
5858
cp $^ $(TMPDIR)
5959
$(PODMAN_BIN) build $(TMPDIR)/ -f $(TMPDIR)/`basename $<` $(PODMAN_FLAGS) -t local-`basename $< | cut -d "." -f 1`

0 commit comments

Comments
 (0)