This section details using or building the docker images. You will need Docker and Docker Compose.
Make sure you have the latest docker image by running:
docker pull elifesciences/sciencebeam-pipelines
Note: add the develop
tag to use the local image after building it (docker-compose build
)
Clone this repository and run:
docker-compose -f docker-compose.latest.yml up
That will start GROBID and ScienceBeam docker containers. The ScienceBeam API will be available on port 8075.
Alternatively run (the --add-host parameter is used to prevent Crossref lookups):
docker run --rm --add-host api.crossref.org:127.0.0.1 -p 8070:8070 lfoppiano/grobid:0.5.3
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines \
./server.sh --host=0.0.0.0 --port=8075 --grobid-url http://localhost:8070/api
Run the Science Parse and ScienceBeam docker container:
docker run --rm -p 8071:8080 allenai-docker-public-docker.bintray.io/s2/scienceparse:1.3.2
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines \
./server.sh --host=0.0.0.0 --port=8075 --pipeline=scienceparse --science-parse-url \
http://localhost:8071/v1
Run the Science Parse V2 and ScienceBeam docker container:
docker run --rm -p 8073:8081 allenai-docker-public-docker.bintray.io/s2/spv2:2.10
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines:develop \
./server.sh --host=0.0.0.0 --port=8075 --pipeline=scienceparse \
--science-parse-url http://localhost:8073/v1/json/pdf --no-science-parse-xslt
Run the CERMINE and ScienceBeam docker container:
docker run --rm -p 8072:8080 elifesciences/cermine:1.13
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines \
./server.sh --host=0.0.0.0 --port=8075 --pipeline=cermine --cermine-url \
http://localhost:8072/extract.do
Run the meTypeset and ScienceBeam docker container:
docker run --rm -i -t -p 8074:8080 elifesciences/metypeset:latest
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines \
./server.sh --host=0.0.0.0 --port=8075 --pipeline=metypeset --metypeset-url \
http://localhost:8074/api/convert
Run the contentmine (for ContentMine's svg2xml) and ScienceBeam docker container:
docker run --rm -i -t -p 8076:8080 elifesciences/contentmine
and:
docker run --rm -i -t -p 8075:8075 --net=host elifesciences/sciencebeam-pipelines \
./server.sh --host=0.0.0.0 --port=8075 --pipeline=contentmine --contentmine-url \
http://localhost:8076/api/convert
docker-compose -f docker-compose.yml build
docker-compose -f docker-compose.yml up
That will start GROBID and ScienceBeam docker containers. The ScienceBeam API will be available on port 8075.
docker-compose build
GROBID is optionally using Crossref consolidation to make the results more useful for archiving.
For this project, the preference is not to enable it and the docker-compose.yml* files explictly use a local network to prevent that.