Skip to content
Docker compose build configuration for SysRev Web Assistant
Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Docker Compose build configuration for SYRAS - Systematic Review Assistant.

There are currently two configurations:

1) Self Building (dev)

A DIY "self building" composition useful during alpha/beta development which does not need a CI platform nor container repository. It has the Dockerfiles in this standalone repo. This will take some time to build (e.g. 45mins mainly for SciPy etc)


git clone 
cd sysrev-assist-docker/DIY
docker-compose up

2) CI Build (production)

The "proper" CI image-based style, with the Dockerfiles in each component repository, with a CI server building them. In this case the compose may get replaced by another container orchestration, depending on the host.

The CI host is currently Docker Hub, the related image repositories are:

Install steps

To update after a code release and Docker Hub build use standard docker commands to fetch the latest images, then recreate containers and restart any updated services (with a brief outage).

docker-compose pull
docker-compose up -d

Data Management

The web application uses MongoDB which stores its data in a named Docker volume.

The document API uses SciKit Learn corpus files to persist its model, which is similarly stored in a named Docker volume.

Therefore the data is relatively safe, on the Docker host VM (e.g. under /var/lib/docker/volumes).

Log Management

The Sematex Logsene (plus APM) monitoring solution works well with SysRev, after trying a few competitors. It has a workable basic free plan, and academic discounts which should help to get installs of this project off the ground.

export SPM_TOKEN= your token
export LOGSENE_TOKEN= your token
sudo docker run -d --name sematext-agent --restart=always -e SPM_TOKEN=$SPM_TOKEN -e LOGSENE_TOKEN=$LOGSENE_TOKEN -v /:/rootfs:ro -v /var/run/docker.sock:/var/run/docker.sock sematext/sematext-agent-docker

I looking into tagging and formatting the application and API logs to be more easily parsed and filtered to separate them from the web and Docker logs.

You can’t perform that action at this time.