Go to file
2022-02-08 12:26:20 +01:00
app Use enums where appropriate. This commit includes new migrations that are NOT compatible with older nopaque instances 2022-02-08 12:26:20 +01:00
migrations Use enums where appropriate. This commit includes new migrations that are NOT compatible with older nopaque instances 2022-02-08 12:26:20 +01:00
tests Fix some bugs in tests 2021-11-15 14:10:28 +01:00
.dockerignore Change directory structure (move ./nopaque/* to ./) 2021-07-20 15:07:42 +02:00
.env.tpl Remove deploy token from template. The token is already revoked so no need to be concerned! 2021-11-25 15:41:50 +01:00
.flaskenv Simplify Config setup and move some functions to dedicated files 2021-09-15 12:31:53 +02:00
.gitignore Enable advanced logging features 2021-09-15 17:58:17 +02:00
boot.sh Remove access log from gunicorn 2021-11-15 14:35:37 +01:00
config.py Use Flask-Hashids package 2021-12-08 11:25:33 +01:00
db.env.tpl Next big config update. Check the .env.tpl and db.env.tpl 2020-10-21 13:07:10 +02:00
docker-compose.development.yml Remove unused files. 2021-09-22 14:01:47 +02:00
docker-compose.scale.yml add stuff to enable instance scaling 2020-11-19 15:20:49 +01:00
docker-compose.traefik.yml Big update, corpus analysis reworked, versioned services, preliminary work for contributions 2022-02-03 12:39:16 +01:00
docker-compose.yml Enable advanced logging features 2021-09-15 17:58:17 +02:00
Dockerfile Bump Python version 2021-11-15 14:09:55 +01:00
LICENSE Big Corpus analysis update 2021-11-16 15:23:57 +01:00
nopaque.py Use enums where appropriate. This commit includes new migrations that are NOT compatible with older nopaque instances 2022-02-08 12:26:20 +01:00
README.md First attempts to use type hinting 2021-12-07 14:18:05 +01:00
requirements.txt Use enums where appropriate. This commit includes new migrations that are NOT compatible with older nopaque instances 2022-02-08 12:26:20 +01:00

nopaque

nopaque bundles various tools and services that provide humanities scholars with DH methods and thus can support their various individual research processes. Using nopaque, researchers can subject digitized sources to Optical Character Recognition (OCR). The resulting text files can then be used as a data basis for Natural Language Processing (NLP). The texts are automatically subjected to various linguistic annotations. The data processed via NLP can then be summarized in the web application as corpora and analyzed by means of an information retrieval system through complex search queries. The range of functions of the web application will be successively extended according to the needs of the researchers.

Prerequisites and requirements

  1. Install docker for your system. Following the official instructions.
  2. Install docker-compose. Following the official instructions.

Configuration and startup

Create Docker swarm

The generated computational workload is handled by a Docker swarm. A swarm is a group of machines that are running Docker and joined into a cluster. It consists out of two different kinds of members, manager and worker nodes. The swarm setup process is described best in the Docker documentation.

Create network storage

A shared network space is necessary so that all swarm members have access to all the data. To achieve this a samba share can be used.

You can create a samba share by using this Docker image.

# Mount the Samba share on all swarm nodes (managers and workers)
username@hostname:~$ sudo mkdir /mnt/nopaque
username@hostname:~$ sudo mount --types cifs --options gid=${USER},password=nopaque,uid=${USER},user=nopaque,vers=3.0 //<SAMBA-SERVER-IP>/<SAMBA-SHARE-NAME> /mnt/nopaque

Download, configure and build nopaque

# Clone the nopaque repository
username@hostname:~$ git clone https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
# Create data directories
username@hostname:~$ mkdir data/{db,logs,mq}
username@hostname:~$ cp db.env.tpl db.env
username@hostname:~$ cp .env.tpl .env
# Fill out the variables within these files.
username@hostname:~$ <YOUR EDITOR> db.env
username@hostname:~$ <YOUR EDITOR> .env
# Create docker-compose.override.yml file
username@hostname:~$ touch docker-compose.override.yml
# Tweak the docker-compose.override.yml to satisfy your needs. (You can find examples in docker-compose.<example>.yml)
username@hostname:~$ <YOUR EDITOR> docker-compose.override.yml
# Build docker images
username@hostname:~$ docker-compose build

Start your instance

# For background execution add the -d flag
username@hostname:~$ docker-compose up
# To scale your app use the following command after starting it normally
username@hostname:~$ docker-compose -f docker-compose.yml \
                                    -f docker-compose.override.yml
                                    -f docker-compose.scale.yml
                                    up
                                      -d
                                      --no-recreate
                                      --scale nopaque=<NUM_INSTANCES>