|
| 1 | +FROM maven:3.5-jdk-8-alpine as build |
| 2 | +COPY . /app/ |
| 3 | +WORKDIR /app |
| 4 | +RUN mvn clean install -DskipTests -Dmaven.test.skip=true --quiet dependency:copy-dependencies |
| 5 | + |
| 6 | + |
| 7 | +# Base OS |
| 8 | +FROM ubuntu:latest |
| 9 | + |
| 10 | +ARG SIMULATOR_VERSION="7.4.0.10" |
| 11 | + |
| 12 | +# metadata |
| 13 | +LABEL \ |
| 14 | + org.opencontainers.image.title="VCell" \ |
| 15 | + org.opencontainers.image.version="${SIMULATOR_VERSION}" \ |
| 16 | + org.opencontainers.image.description="Open-source software package for modeling cell biological systems that is built on a central database and disseminated as a standalone application." \ |
| 17 | + org.opencontainers.image.url="http://vcell.org/" \ |
| 18 | + org.opencontainers.image.documentation="https://vcell.org/support" \ |
| 19 | + org.opencontainers.image.source="https://github.com/virtualcell/vcell" \ |
| 20 | + org.opencontainers.image.authors= "BioSimulators Team <[email protected]>" \ |
| 21 | + org.opencontainers.image.vendor="BioSimulators Team" \ |
| 22 | + org.opencontainers.image.licenses="MIT" \ |
| 23 | + base_image="ubuntu:latest" \ |
| 24 | + version="${SIMULATOR_VERSION}" \ |
| 25 | + software="Virtual Cell" \ |
| 26 | + software.version="${SIMULATOR_VERSION}" \ |
| 27 | + about.summary="Open-source software package for modeling cell biological systems that is built on a central database and disseminated as a standalone application." \ |
| 28 | + about.home="http://vcell.org/" \ |
| 29 | + about.documentation="https://vcell.org/support" \ |
| 30 | + about.license_file="https://github.com/virtualcell/vcell/blob/master/license.txt" \ |
| 31 | + about.license="SPDX:MIT" \ |
| 32 | + about.tags="rule-based modeling,kinetic modeling,dynamical simulation,systems biology,BNGL,SED-ML,COMBINE,OMEX" \ |
| 33 | + maintainer= "BioSimulators Team <[email protected]>" |
| 34 | + |
| 35 | +RUN apt-get -y update && \ |
| 36 | + apt-get install -y --no-install-recommends curl openjdk-8-jre dnsutils && \ |
| 37 | + apt-get install -y python3 && \ |
| 38 | + apt install -y python3-pip && \ |
| 39 | + mkdir -p /usr/local/app/vcell/lib && \ |
| 40 | + mkdir -p /usr/local/app/vcell/simulation && \ |
| 41 | + mkdir -p /usr/local/app/vcell/installDir && \ |
| 42 | + mkdir -p /usr/local/app/vcell/installDir/python/vcell_cli_utils |
| 43 | + |
| 44 | +# Add linux local solvers only |
| 45 | +ADD ./localsolvers /usr/local/app/vcell/installDir/localsolvers |
| 46 | +ADD ./nativelibs /usr/local/app/vcell/installDir/nativelibs |
| 47 | +COPY ./docker_run.sh /usr/local/app/vcell/installDir/ |
| 48 | + |
| 49 | + |
| 50 | +# Declare supported environment variables |
| 51 | +ENV ALGORITHM_SUBSTITUTION_POLICY=SIMILAR_VARIABLES |
| 52 | + |
| 53 | +# Install required python-packages |
| 54 | +COPY ./vcell-cli-utils/ /usr/local/app/vcell/installDir/python/vcell_cli_utils/ |
| 55 | +RUN pip3 install -r /usr/local/app/vcell/installDir/python/vcell_cli_utils/requirements.txt |
| 56 | +RUN pip3 install /usr/local/app/vcell/installDir/python/vcell_cli_utils/ |
| 57 | + |
| 58 | +# Copy JAR files |
| 59 | +COPY --from=build /app/vcell-client/target/vcell-client-0.0.1-SNAPSHOT.jar \ |
| 60 | + /app/vcell-client/target/maven-jars/*.jar \ |
| 61 | + /app/vcell-core/target/vcell-core-0.0.1-SNAPSHOT.jar \ |
| 62 | + /app/vcell-core/target/maven-jars/*.jar \ |
| 63 | + /app/vcell-server/target/vcell-server-0.0.1-SNAPSHOT.jar \ |
| 64 | + /app/vcell-server/target/maven-jars/*.jar \ |
| 65 | + /app/vcell-vmicro/target/vcell-vmicro-0.0.1-SNAPSHOT.jar \ |
| 66 | + /app/vcell-vmicro/target/maven-jars/*.jar \ |
| 67 | + /app/vcell-oracle/target/vcell-oracle-0.0.1-SNAPSHOT.jar \ |
| 68 | + /app/vcell-oracle/target/maven-jars/*.jar \ |
| 69 | + /app/vcell-admin/target/vcell-admin-0.0.1-SNAPSHOT.jar \ |
| 70 | + /app/vcell-admin/target/maven-jars/*.jar \ |
| 71 | + /app/vcell-cli/target/vcell-cli-0.0.1-SNAPSHOT.jar \ |
| 72 | + /app/vcell-cli/target/maven-jars/*.jar \ |
| 73 | + /app/non-maven-java-libs/com/oracle/ojdbc6/11.2.0.4/ojdbc6-11.2.0.4.jar \ |
| 74 | + /app/non-maven-java-libs/com/oracle/ucp/11.2.0.4/ucp-11.2.0.4.jar \ |
| 75 | + /app/non-maven-java-libs/org/sbml/libcombine/libCombineLinux64/0.2.7/libCombineLinux64-0.2.7.jar \ |
| 76 | + /usr/local/app/vcell/lib/ |
| 77 | +RUN chmod -R 755 /usr/local/app/vcell && chmod +x /usr/local/app/vcell/installDir/docker_run.sh |
| 78 | + |
| 79 | +# Entrypoint |
| 80 | +ENTRYPOINT ["/usr/local/app/vcell/installDir/docker_run.sh"] |
| 81 | +CMD [] |
0 commit comments