This commit is contained in:
Chris Myers 2022-03-17 17:50:43 -06:00
commit fce1d9b464
7 changed files with 102 additions and 0 deletions

27
.github/workflows/dockerbuild.yml vendored Normal file
View file

@ -0,0 +1,27 @@
name: Build and push docker images
on:
push:
branches: [master]
jobs:
build-and-push:
name: Build image and push to Docker Hub
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Checkout source code
- name: Build the Docker image
run: |
tag="ibiosim:snapshot"
echo $tag
docker build . --tag $tag
- uses: azure/docker-login@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push the image to Docker Hub
run: |
tag="ibiosim:snapshot"
echo $tag
docker push $tag

BIN
Dependencies/GeneNet.tar.gz vendored Normal file

Binary file not shown.

BIN
Dependencies/gsl-latest.tar.gz vendored Normal file

Binary file not shown.

Binary file not shown.

34
Dependencies/newbuild.sh vendored Normal file
View file

@ -0,0 +1,34 @@
#!/bin/bash
BUILD_DIR=$PWD
ROOT=/iBioSim
tar -xf libSBML-5.15.2-core-plus-packages-src.tar.gz
tar -xf gsl-latest.tar.gz
tar -xf GeneNet.tar.gz
tar -xf reb2sac.tar.gz
# Install gsl
cd ${BUILD_DIR}/gsl-2.4
./configure --prefix=${ROOT} --quiet
make --quiet
make install --quiet
# Install libsbml
cd ${BUILD_DIR}/libSBML-5.15.2-Source
./configure --prefix=${ROOT} --with-java --enable-comp --quiet
make --quiet; make --quiet
make install --quiet
# Install GeneNet
cd ${BUILD_DIR}/GeneNet
make --quiet
cp bin/GeneNet ${ROOT}/bin/GeneNet.linux64
cp ${ROOT}/bin/GeneNet.linux64 ${ROOT}/bin/GeneNet
# Install reb2sac
cd ${BUILD_DIR}/reb2sac
CFLAGS="-I${ROOT}/include -O0 -g3 -DNAME_FOR_ID" LDFLAGS="-L${ROOT}/lib -lm" ./configure --prefix=${ROOT}/ && \
env WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" make -k -j1 install
cp ${ROOT}/bin/reb2sac ${ROOT}/bin/reb2sac.linux64

BIN
Dependencies/reb2sac.tar.gz vendored Normal file

Binary file not shown.

41
Dockerfile Normal file
View file

@ -0,0 +1,41 @@
FROM ubuntu:18.04
LABEL base_image="ubuntu:18.04"
LABEL version="1.0.0"
LABEL software="bioSimAPI"
LABEL software.version="1.0.0"
LABEL about.summary="API for SynBioHub/SBOLCanvas communication with iBioSim"
LABEL about.home="https://github.com/MyersResearchGroup/iBioSim"
LABEL about.documentation="https://github.com/MyersResearchGroup/iBioSim"
LABEL about.license_file="https://github.com/MyersResearchGroup/iBioSim/blob/master/LICENSE.txt"
LABEL about.license="Apache-2.0"
LABEL about.tags="kinetic modeling,dynamical simulation,systems biology,biochemical networks,SBML,SED-ML,COMBINE,OMEX,BioSimulators"
LABEL maintainer="Chris Myers <chris.myers@colorado.edu>"
# Install requirements
RUN apt-get update --fix-missing \
&& DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y maven \
&& apt-get install python3.7 -y \
&& apt-get install python3-pip -y \
&& apt install openjdk-8-jdk -y
# Build iBioSim
WORKDIR /iBioSim
COPY . .
RUN mvn package -Dmaven.javadoc.skip=true
WORKDIR /
RUN apt-get -y install build-essential \
&& apt-get -y install dos2unix \
&& apt-get -y install libxml2-dev
# Build reb2sac
WORKDIR iBioSim/Dependencies
RUN chmod +x newbuild.sh \
&& dos2unix newbuild.sh \
&& sh newbuild.sh
WORKDIR /
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8