|
| 1 | +# docker build --platform amd64 -t wfcommons-dev-snakemake -f Dockerfile.snakemake . |
| 2 | +# docker run -it --rm -v `pwd`:/home/wfcommons wfcommons-dev-snakemake /bin/bash |
| 3 | + |
| 4 | +FROM amd64/ubuntu:noble |
| 5 | + |
| 6 | +LABEL org.containers.image.authors="henric@hawaii.edu" |
| 7 | + |
| 8 | +# update repositories |
| 9 | +RUN apt-get update |
| 10 | + |
| 11 | +# set timezone |
| 12 | +RUN echo "America/Los_Angeles" > /etc/timezone && export DEBIAN_FRONTEND=noninteractive && apt-get install -y tzdata |
| 13 | + |
| 14 | +# install useful stuff |
| 15 | +RUN apt-get -y install pkg-config |
| 16 | +RUN apt-get -y install git |
| 17 | +RUN apt-get -y install wget |
| 18 | +RUN apt-get -y install curl |
| 19 | +RUN apt-get -y install make |
| 20 | +RUN apt-get -y install cmake |
| 21 | +RUN apt-get -y install cmake-data |
| 22 | +RUN apt-get -y install sudo |
| 23 | +RUN apt-get -y install vim --fix-missing |
| 24 | +RUN apt-get -y install gcc |
| 25 | +RUN apt-get -y install gcc-multilib |
| 26 | +RUN apt-get -y install graphviz libgraphviz-dev |
| 27 | + |
| 28 | + |
| 29 | +# Python stuff |
| 30 | +RUN apt-get -y install python3 python3-pip |
| 31 | +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 |
| 32 | +RUN python3 -m pip install --break-system-packages pathos pandas filelock |
| 33 | +RUN python3 -m pip install --break-system-packages networkx scipy matplotlib pygraphviz |
| 34 | +RUN python3 -m pip install --break-system-packages pyyaml jsonschema requests |
| 35 | +RUN python3 -m pip install --break-system-packages --upgrade setuptools |
| 36 | + |
| 37 | +# Stress-ng |
| 38 | +RUN apt-get -y install stress-ng |
| 39 | + |
| 40 | +# Add wfcommons user |
| 41 | +RUN useradd -ms /bin/bash wfcommons |
| 42 | +RUN adduser wfcommons sudo |
| 43 | +RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers |
| 44 | +ENV PATH="$PATH:/home/wfcommons/.local/bin/" |
| 45 | + |
| 46 | +USER wfcommons |
| 47 | +WORKDIR /home/wfcommons |
| 48 | +# Making this directory world rwx to facilitate testing |
| 49 | +RUN chmod -R 777 /home/wfcommons |
| 50 | + |
| 51 | + |
| 52 | +# Install Pixi |
| 53 | +RUN wget -qO- https://pixi.sh/install.sh | sh |
| 54 | +ENV PATH="$PATH:/home/wfcommons/.pixi/bin" |
| 55 | + |
| 56 | +# Install snakemake |
| 57 | +RUN pixi global install snakemake conda -c conda-forge -c bioconda |
| 58 | +RUN pixi global install snakedeploy -c conda-forge -c bioconda |
| 59 | + |
| 60 | + |
0 commit comments