FROM bioconductor/bioconductor_docker:RELEASE_3_22
USER root
RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-venv build-essential && rm -rf /var/lib/apt/lists/*
RUN R -q -e 'BiocManager::install(c("DESeq2", "edgeR", "limma", "statmod", "ashr", "jsonlite", "fgsea", "WGCNA", "SoupX", "GSVA", "digest"), version="3.22", ask=FALSE, update=FALSE)'
COPY --chown=1000:1000 . /opt/rna-atlas
RUN python3 -m venv /opt/rna-python && /opt/rna-python/bin/pip install --no-cache-dir -r /opt/rna-atlas/requirements-single.txt
ENV CELLTYPIST_FOLDER=/tmp/celltypist PATH="/opt/rna-python/bin:$PATH" NUMBA_CACHE_DIR=/tmp/numba-cache MPLCONFIGDIR=/tmp/matplotlib XDG_CACHE_HOME=/tmp/cache
RUN mkdir -p /work && chown 1000:1000 /work
USER 1000:1000
ENV RNA_ATLAS_CONTAINER=1 RNA_ATLAS_DATA=/work OMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1
WORKDIR /opt/rna-atlas
EXPOSE 8765
ENTRYPOINT ["python3", "/opt/rna-atlas/server.py"]
CMD ["--bind", "0.0.0.0"]
