forked from chanzuckerberg/single-cell-data-portal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.processing
45 lines (34 loc) · 1.46 KB
/
Dockerfile.processing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ARG BASE_TAG=branch-main
FROM ghcr.io/chanzuckerberg/corpora-upload-base:$BASE_TAG
# Update AWS root Certificates
ADD https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem /etc/ssl/certs/rds-global-bundle.pem
# Install cellxgene so we get the remote server that has the converter in it
# The cellxgene install script expects executables named python and pip, not python3 and pip3
RUN apt-get update && \
apt-get upgrade -y && \
apt install software-properties-common -y && \
add-apt-repository ppa:deadsnakes/ppa && \
apt-get update && apt-get install -y python3.10 python3.10-dev python3.10-venv libvips && \
wget https://bootstrap.pypa.io/get-pip.py && \
python3.10 get-pip.py
# For lighter weight Docker images
ENV PIP_NO_CACHE_DIR=1
# Activate virtual environment for subsequent commands
RUN python3.10 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
COPY /python_dependencies/processing/ .
COPY /python_dependencies/common/ .
ARG INSTALL_DEV=false
ARG CACHEBUST=1
RUN python3.10 -m pip install -r requirements.txt
RUN if [ "$INSTALL_DEV" = "true" ]; then python3 -m pip install -r requirements-dev.txt; fi
ADD backend/__init__.py backend/__init__.py
ADD backend/layers backend/layers
ADD backend/common backend/common
ARG HAPPY_BRANCH="unknown"
ARG HAPPY_COMMIT=""
LABEL branch=${HAPPY_BRANCH}
LABEL commit=${HAPPY_COMMIT}
ENV COMMIT_SHA=${HAPPY_COMMIT}
ENV COMMIT_BRANCH=${HAPPY_BRANCH}
CMD ["python3.10", "-m", "backend.layers.processing.process"]