Spaces:
Sleeping
Sleeping
# Use the specific base image | |
FROM ubuntu:jammy-20221130 | |
# GHCR related label | |
LABEL org.opencontainers.image.source=https://github.com/id-bioinfo/TIPars | |
LABEL org.opencontainers.image.description="TIPars - Taxa Insertion by Parsimony on Ubuntu Jammy" | |
LABEL org.opencontainers.image.licenses=LGPL-2.1 | |
# Set up a new user named "user" with user ID 1000 | |
RUN useradd -m -u 1000 user | |
# Set up environment variables for the user | |
ENV HOME=/home/user \ | |
PATH=/home/user/.local/bin:$PATH | |
# Set the working directory to the user's home directory | |
WORKDIR $HOME/app | |
# Install Java | |
RUN apt-get update && apt-get install -y openjdk-11-jdk | |
# Set the JAVA_HOME environment variable | |
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 | |
# Update apt and apt-get | |
RUN apt-get update | |
RUN apt update | |
RUN apt upgrade -y | |
# Install java JRE | |
RUN apt install default-jre -y | |
# Setting timezone for installing python without manual user input | |
ENV TZ=Asia/Hong_Kong | |
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | |
# Install deadsnakes for python installation | |
RUN apt install software-properties-common -y | |
RUN add-apt-repository ppa:deadsnakes/ppa -y | |
# Install python3.11 | |
RUN apt install python3.11 -y | |
# Install pip3 | |
RUN apt install python3-pip -y | |
# Update python3 command to use python3.11 instead of 3.10 | |
RUN update-alternatives --install /usr/bin/python3 python /usr/bin/python3.11 10 | |
# Install Perl and Perl libraries | |
RUN apt install perl -y | |
RUN apt-get install libtime-hires-perl -y | |
RUN apt install libdata-dump-perl -y | |
# Install ete3 w/ pip | |
RUN python3.11 -m pip install six numpy | |
RUN python3.11 -m pip install ete3 | |
# Install pastml w/ pip | |
RUN python3.11 -m pip install pastml | |
# Install gcc and OpenMP | |
RUN apt install gcc -y | |
RUN apt-get install libomp-dev -y | |
# Change ownership of the working directory to the user | |
RUN chown -R user:user $HOME/app | |
# Switch to the user | |
USER user | |
# Copy all files to the working directory | |
# COPY ./ $HOME/app/ | |
# Copy all files to the working directory with correct ownership | |
COPY --chown=user:user ./ $HOME/app/ | |
# Install required Python dependencies | |
RUN python3.11 -m pip install -r $HOME/app/requirements.txt | |
# Install mafft | |
# RUN wget https://mafft.cbrc.jp/alignment/software/mafft-7.520-linux.tgz | |
# RUN tar xfvz mafft-7.520-linux.tgz | |
# Expose the desired port | |
EXPOSE 7860 | |
# Set the command to run the Python application | |
CMD ["python3.11", "app.py"] | |
# CMD ["tipars/tipars", "-t", "tipars/Benchmark_datasets/NDV/NDV_tree.nwk", "-s", "tipars/Benchmark_datasets/NDV/NDV_taxa.fas", "-a", "tipars/Benchmark_datasets/NDV/NDV_anc.fas", "-q", "tipars/Benchmark_datasets/NDV/NDV_query.fas", "-o", "tipars/Benchmark_datasets/NDV/tipars.tree"] | |