Skip to content

infolis/infolis-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

infolis-docker

Run the InFoLiS infrastructure as docker containers.

Overview

The InFoLiS project tries to facilitate a tighter integration of academic publications and research data by using text mining techniques to extract references to data from natural language texts.

The different parts of the project have been implemented with different technologies in different repositories. infolis-docker is the umbrella repository that "wires together" all the components and makes them easy to deploy.

Prerequisites

Hardware

Database, web frontend and web site are modest in their requirements, the data mining backend however can be quite resource hungry.

If you intend to deploy all the containers on the same host, we'd recommend at least 16 GB of RAM and 2 CPU cores.

If you run the backend on a different (powerful) machine, 4 GB of RAM and 2 CPU cores should be enough to run the frontend.

Software

The software is deployed using the docker container framework. While technically possible to run in Windows, Linux and Mac OSX, we do not support operating systems beyond Linux.

  • docker-engine
  • docker-compose
  • GNU make

Build

Clone repos recursively

git clone --recursive https://github.com/infolis/infolis-docker

Create directory structure

make dirs or

mkdir -p data/{logs,mongodb,uploads} backup

Build/Pull container images

make build or

docker-compose build
docker-compose pull mongo

Configure

Adapt the files in ./config to your needs.

Network setup

If the host of the infolis-web/infolis-github containers is running on a non-DNS-resolvable host (e.g. localhost:3000), ensure that they are resolvable locally by adding to /etc/hosts:

127.0.0.1	infolis-web
127.0.0.1	infolis-github

Data directories

All data is stored in the ./data directory:

  • ./data/logs: Logs from infolis-web
  • ./data/mongodb: The MongoDB backend of infolis-web
  • ./data/uploads: The file uploads to infoLink

Backups (see make-backup and make-restore) are stored in ./backup

infolis-github

You won't need to run this container unless you are developing the InFoLiS web site.

Start and stop

  • docker-compose up [SERVICE...] to start the containers and follow the logs. <CTRL-C> to quit.
  • docker-compose up -d [SERVICE...] to start the containers and detach.
  • docker-compose stop [SERVICE...] to stop the containers.

[SERVICE...] should be infolis-web infolink in general.

If you want to run the web site from docker as well, [SERVICE...] should be infolis-web infolink infolis-github.

Utilities

infolis-docker comes with a Makefile that offers some utility targets.

make backup

make backup will create a time-stamped directory in ./backup with a snapshot of the Mongo DB (using mongodump) and a copy of the uploaded files.

Subtargets: backup-mongodb, backup-files

make restore

make restore BACKUP=<timestamp> will restore MongoDB documents and uploads from the backup ./backup/<timestamp>.

Subtargets: restore-mongodb, restore-files

make clear

make clear will drop the database and remove all files. Use with caution, obviously.

Subtargets: clear-mongodb, clear-files

About

Run the InFoLiS infrastructure as docker containers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published