From 1be517ac23b494e5ad40261fb5fded81e0369fb7 Mon Sep 17 00:00:00 2001
From: alisandra <alisandra.denton@hhu.de>
Date: Mon, 22 Aug 2022 19:15:20 +0200
Subject: [PATCH] better but not good

---
 workflows/docker/Dockerfile | 110 +++++++++++++++++++++---------------
 1 file changed, 65 insertions(+), 45 deletions(-)

diff --git a/workflows/docker/Dockerfile b/workflows/docker/Dockerfile
index 8bbb527..942710a 100644
--- a/workflows/docker/Dockerfile
+++ b/workflows/docker/Dockerfile
@@ -1,6 +1,14 @@
 #FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04
 FROM ubuntu:latest
-RUN useradd --create-home --shell /bin/bash zim-gast 
+
+# Overide user name at build, if buil-arg no passed, will create user named `default` user
+ARG DOCKER_USER=zim-gast
+
+# Create a group and user
+RUN adduser $DOCKER_USER 
+
+
+#RUN useradd --create-home --shell /bin/bash zim-gast 
 RUN apt-get update -y
 RUN apt-get install -y --no-install-recommends apt-utils
 RUN apt-get install python3-dev -y
@@ -32,56 +40,49 @@ ENV PATH="/root/.cargo/bin:${PATH}"
 
 # --- Helixer and HelixerPost --- #
 
-WORKDIR /home/zim-gast/
-RUN mkdir /home/zim-gast/repos
-WORKDIR /home/zim-gast/repos
+WORKDIR /home/$DOCKER_USER/
+RUN mkdir /home/$DOCKER_USER/repos
+WORKDIR /home/$DOCKER_USER/repos
 RUN git clone -b v0.3.0a0 https://github.com/weberlab-hhu/Helixer.git Helixer
-RUN pip install --no-cache-dir -r /home/zim-gast/repos/Helixer/requirements.txt
+RUN pip install --no-cache-dir -r /home/$DOCKER_USER/repos/Helixer/requirements.txt
 RUN cd Helixer && pip install --no-cache-dir .
 
-WORKDIR /home/zim-gast/repos
+WORKDIR /home/$DOCKER_USER/repos
 RUN git clone https://github.com/TonyBolger/HelixerPost.git
 RUN cd HelixerPost && git checkout d180ad8b353fa8da69342bdb924ecfaeea9464af
-RUN mkdir /home/zim-gast/bin
-ENV PATH="/home/zim-gast/bin:${PATH}"
+RUN mkdir /home/$DOCKER_USER/bin
+ENV PATH="/home/$DOCKER_USER/bin:${PATH}"
 RUN cd HelixerPost/helixer_post_bin && cargo build --release
-RUN mv /home/zim-gast/repos/HelixerPost/target/release/helixer_post_bin /home/zim-gast/bin/
-RUN rm -r /home/zim-gast/repos/HelixerPost/target/release/
-
+RUN mv /home/$DOCKER_USER/repos/HelixerPost/target/release/helixer_post_bin /home/$DOCKER_USER/bin/
+RUN rm -r /home/$DOCKER_USER/repos/HelixerPost/target/release/
 
-# 
-RUN apt install r-base-core  -y
-#RUN apt install rstudio  -y
 RUN apt install libncurses5-dev zlib1g-dev libbz2-dev liblzma-dev cmake jellyfish python-tk libcurl4-openssl-dev libgit2-dev libssl-dev -y
 
-WORKDIR /home/zim-gast/repos
+WORKDIR /home/$DOCKER_USER/repos
 RUN git clone https://github.com/alisandra/RNAseq_workshop_helpers.git
-RUN find RNAseq_workshop_helpers . -maxdepth 2 -type f -executable|xargs -I% cp % /home/zim-gast/bin/
+RUN find RNAseq_workshop_helpers . -maxdepth 2 -type f -executable|xargs -I% cp % /home/$DOCKER_USER/bin/
 
 #echo "please add the following lines to your ~/.bashrc file"
 #echo 'export PATH=$PATH:'$SOFTWAREDIR'/bin'
 #echo 'export AUGUSTUS_CONFIG_PATH='$SOFTWAREDIR'/downloads/augustus.2.5.5/config/'
 
-WORKDIR /home/zim-gast/bin
-RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit
-RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/blat
-RUN chmod +x blat
-RUN chmod +x faToTwoBit 
+WORKDIR /home/$DOCKER_USER/bin
+RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit && chmod +x faToTwoBit
+RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/blat && chmod +x blat 
 
 
 # --- classic bioinf --- #
-WORKDIR /home/zim-gast/
-RUN apt install hisat2 -y
-RUN apt install bowtie2 -y
-RUN apt install augustus -y
-RUN apt install gffread -y
-RUN apt install fastqc -y
-RUN apt install salmon -y
-RUN apt install samtools -y
-RUN apt install trinityrnaseq -y
-RUN apt install minimap2 -y
-RUN apt install mash -y
-RUN apt install cd-hit -y
+WORKDIR /home/$DOCKER_USER/
+RUN apt install hisat2 \
+   bowtie2 \
+   augustus \
+   gffread \
+   fastqc \
+   salmon \
+   samtools \
+   minimap2 \
+   mash \
+   cd-hit -y
 
 # --- used to be conda, now binaries... --- #
 
@@ -98,19 +99,19 @@ RUN tar xvf bax2bam-0.0.11-0.tar.bz2
 
 # kallisto
 RUN apt install libhdf5-dev m4 -y
-WORKDIR /home/zim-gast/repos
+WORKDIR /home/$DOCKER_USER/repos
 RUN curl -O -L http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
 RUN tar -xzf autoconf-2.69.tar.gz
-WORKDIR /home/zim-gast/repos/autoconf-2.69
+WORKDIR /home/$DOCKER_USER/repos/autoconf-2.69
 RUN ./configure
 RUN make
 RUN make install
-WORKDIR /home/zim-gast/repos
+WORKDIR /home/$DOCKER_USER/repos
 RUN git clone https://github.com/pachterlab/kallisto.git
 RUN mkdir kallisto/build
-WORKDIR /home/zim-gast/repos/kallisto/build
+WORKDIR /home/$DOCKER_USER/repos/kallisto/build
 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/hdf5/serial/lib
-RUN cmake -DCMAKE_INSTALL_PREFIX=/home/zim-gast/ -DUSE_HDF5=ON ..
+RUN cmake -DCMAKE_INSTALL_PREFIX=/home/$DOCKER_USER/ -DUSE_HDF5=ON ..
 RUN make
 RUN make install
 # python
@@ -120,29 +121,48 @@ RUN rm python_installs.sh
 
 # for virtualenv intro
 RUN pip install virtualenv
-ENV PATH="/home/zim-gast/.local/bin:${PATH}"
+ENV PATH="/home/$DOCKER_USER/.local/bin:${PATH}"
 
 # jars
-RUN mkdir /home/zim-gast/sw
-WORKDIR /home/zim-gast/sw
+RUN mkdir /home/$DOCKER_USER/sw
+WORKDIR /home/$DOCKER_USER/sw
 RUN wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip
+RUN apt install unzip -y
 RUN unzip Trimmomatic-0.39.zip
 RUN rm Trimmomatic-0.39.zip
 
 # cleanup
-WORKDIR /home/zim-gast/
+WORKDIR /home/$DOCKER_USER/
 RUN rm *.bz2
 RUN rm -r info
 
 
 # shared folder
-RUN mkdir /home/zim-gast/rnaseq-workshop
+# rnaseq-workshop folder
+RUN wget https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-v3.2.0.tar.gz
+RUN mv git-lfs-linux-amd64-v3.2.0.tar.gz sw/
+WORKDIR /home/$DOCKER_USER/sw/
+RUN tar xvf git-lfs-linux-amd64-v3.2.0.tar.gz
+WORKDIR /home/$DOCKER_USER/sw/git-lfs-3.2.0/
+RUN ./install.sh
+RUN rm ../git-lfs-linux-amd64-v3.2.0.tar.gz
+WORKDIR /home/$DOCKER_USER/
+
+#RUN git clone https://git.nfdi4plants.org/brilator/rnaseq-workshop.git
+
+RUN mkdir /home/$DOCKER_USER/rnaseq-workshop
 
-RUN apt purge gmap -y
 RUN apt install gmap -y
+RUN rm -rf /var/lib/apt/lists/*
 
 EXPOSE 8889
-USER zim-gast
+
+COPY ./first.sh /home/$DOCKER_USER/ 
+RUN chown $DOCKER_USER:$DOCKER_USER /home/$DOCKER_USER/first.sh
+USER $DOCKER_USER
+
+RUN git lfs install
 RUN echo "alias gmap='/usr/bin/gmap'" >> .bashrc
 
+
 CMD ["bash"]
-- 
GitLab