-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cellxgene_VIP deploying with Heroku #47
Comments
I would love to see how this works |
Dear @skim245, @FADHLyemen and cellxgene_vip developer, I am a PhD student at CNAG-CRG evaluating right now the potential use of cellxgene/cellxgene_VIP for 3TR (https://www.3tr-imi.eu/) Since I am also struggling with setting up a functional Dockerfile I thought it could be beneficial to share what I tried so far in your issue. Maybe we could help each other. Best regards, Best shot so far:
Did not manage to install Seurat:
Seurat working but this time I did not manage to install fgsea:
|
@IvoLeist thank you for sharing this. git add heroku.yml and getting an error code below remote: =!= There were problems parsing your heroku.yml. We've detected the following issues: any thoughts or suggestion? Thanks, |
@skim245 But my random guess is that you have specified the wrong path inside build.docker.web
If the heroku.yml and the Dockerfile are in the same folder:
|
@IvoLeist build: run: |
I saw the discussion about Dockerfile in this issue, so I'm sharing my Dockerfile here too. Half of the file is copied from https://github.com/jupyter/docker-stacks/blob/master/base-notebook/Dockerfile and half of the file is from @IvoLeist. I failed to use conda to solve the R dependencies directly, I got the same errors written in @IvoLeist 's Dockerfile. Instead, I followed the Jupyter Notebook Dockerfile and used Mamba to solve the dependencies. It worked pretty well. I didn't try deploying to Heroku but I managed to deploy on Google Cloud Run. I believe they work in the same way. FROM debian:bullseye
# ref: https://github.com/jupyter/docker-stacks/blob/master/base-notebook/Dockerfile
# Install all OS dependencies for notebook server that starts but lacks all
# features (e.g., download as all possible file formats)
# - tini is installed as a helpful container entrypoint that reaps zombie
# processes and such of the actual executable we want to start, see
# https://github.com/krallin/tini#why-tini for details.
# - apt-get upgrade is run to patch known vulnerabilities in apt-get packages as
# the ubuntu base image is rebuilt too seldom sometimes (less than once a month)
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update --yes && \
apt-get upgrade --yes && \
apt-get install --yes --no-install-recommends \
git cpio build-essential python3 python3-pip cmake libhdf5-dev cmake llvm npm nodejs jq \
tini wget ca-certificates sudo locales fonts-liberation && \
apt-get clean && rm -rf /var/lib/apt/lists/* && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen
# Configure environment
ENV CONDA_DIR=/opt/conda \
SHELL=/bin/bash \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8
ENV PATH="${CONDA_DIR}/bin:${PATH}"
# Install conda as jovyan and check the sha256 sum provided on the download site
WORKDIR /tmp
ARG PYTHON_VERSION="3.8.12"
# CONDA_MIRROR is a mirror prefix to speed up downloading
# For example, people from mainland China could set it as
# https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease
ARG CONDA_MIRROR=https://github.com/conda-forge/miniforge/releases/latest/download
# ---- Miniforge installer ----
# Check https://github.com/conda-forge/miniforge/releases
# Package Manager and Python implementation to use (https://github.com/conda-forge/miniforge)
# We're using Mambaforge installer, possible options:
# - conda only: either Miniforge3 to use Python or Miniforge-pypy3 to use PyPy
# - conda + mamba: either Mambaforge to use Python or Mambaforge-pypy3 to use PyPy
# Installation: conda, mamba, pip
RUN set -x && \
# Miniforge installer
miniforge_arch=$(uname -m) && \
miniforge_installer="Mambaforge-Linux-${miniforge_arch}.sh" && \
wget --quiet "${CONDA_MIRROR}/${miniforge_installer}" && \
/bin/bash "${miniforge_installer}" -f -b -p "${CONDA_DIR}" && \
rm "${miniforge_installer}" && \
# Conda configuration see https://conda.io/projects/conda/en/latest/configuration.html
conda config --system --set auto_update_conda false && \
conda config --system --set show_channel_urls true && \
if [ ${PYTHON_VERSION} != "default" ]; then mamba install --quiet --yes python="${PYTHON_VERSION}"; fi && \
mamba list python | grep '^python ' | tr -s ' ' | cut -d ' ' -f 1,2 >> "${CONDA_DIR}/conda-meta/pinned" && \
# Using conda to update all packages: https://github.com/mamba-org/mamba/issues/1092
conda update --all --quiet --yes && \
conda clean --all -f -y && \
rm -rf "/home/${NB_USER}/.cache/yarn"
# install R dependencies
RUN mamba install --quiet --yes \
'r-base' \
'r-cairo' \
'r-ragg' \
'r-ggrastr' \
'r-arrow' \
'r-biocmanager' \
'r-foreign' \
'r-ggpubr' \
'r-rmarkdown' \
'r-seurat' \
'r-tidyverse' \
'r-viridis' \
'r-ellipsis' \
'r-processx' && \
mamba clean --all -f -y
WORKDIR /
RUN git clone https://github.com/interactivereport/cellxgene_VIP.git
WORKDIR /cellxgene_VIP
# install Python depdendencies
ADD vip_requirements.txt /cellxgene_VIP/vip_requirements.txt
RUN pip install -r /cellxgene_VIP/vip_requirements.txt
RUN bash config.sh
# install cellxgene Python dependencies if any
RUN pip install -r /cellxgene_VIP/cellxgene/server/requirements.txt The following is the
|
Hi,
I would like to deploy the cellxgene VIP result with Heroku
and would like to know how to modify the "Dockerfile" provided by cellxgene
Here is my modified version and I'm getting this error
FROM ubuntu:bionic
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
RUN apt-get update &&
apt-get install -y build-essential libxml2-dev python3-dev python3-pip zlib1g-dev python3-requests &&
apt-get install git -y
git clone https://github.com/interactivereport/cellxgene_VIP.git
COPY . .
RUN pip install -r requirements.txt
RUN conda env create -n VIP -f VIP.macOS.yml
RUN conda init bash
RUN conda activate VIP
RUN echo "Make sure flask is installed:"
RUN python -c "import flask"
COPY run.py .
RUN ./config.macOS.sh
ENTRYPOINT ["cellxgene"]
and getting below errors
E: Unable to locate package clone
E: Unable to locate package https://github.com/interactivereport
E: Couldn't find any package by glob 'https://github.com/interactivereport'
E: Couldn't find any package by regex 'https://github.com/interactivereport'
The command '/bin/sh -c apt-get update && apt-get install -y build-essential libxml2-dev python3-dev python3-pip zlib1g-dev python3-requests && apt-get install git -y git clone https://github.com/interactivereport/cellxgene_VIP.git' returned a non-zero code: 100
▸ Error: docker build exited with Error: 100
Thanks,
The text was updated successfully, but these errors were encountered: