No Description

bach c461d5b1e4 makefile 1 week ago
Docker 4ddd13640f filters on server side integrated and other things 10 months ago
client @ b708cfc80f e42a4f012c client typo fix 9 months ago
data @ 424a325dfa 8e84a71d83 updated DATA 4 months ago
synopsx @ 9529b93884 085cc3bc29 database update 9 months ago
webapp @ 712ed6dfdd a25987222a full update 9 months ago
.env 237acc11e2 updated synopsx, added webapp mount, readme 1 year ago
.gitignore 1a930deafc added synopsx, basex/basexhttp 1 year ago
.gitmodules 237acc11e2 updated synopsx, added webapp mount, readme 1 year ago
LICENSE dc46999f96 Initial commit 1 year ago
Makefile c461d5b1e4 makefile 1 week ago c461d5b1e4 makefile 1 week ago cd8ecfea69 added restart: always to basex in prod compose file 10 months ago
docker-compose.yml ac94d2ca2f added APP_ENV dev or stage 10 months ago


Install docker (only once)

sudo pacman -S docker docker-compose docker-machine

Clone this repos

this will clone this repos (main docker environement) and necessary other source code (synopsx, webapp, xml-tei sources, vuejs client)

git clone --recursive


start docker engine

sudo systemctl start docker


only before the first run (may take some time)

sudo docker-compose build

or with args for groups and users

docker-compose build --no-cache --build-arg UID=$(id -u) --build-arg GID=$(id -g) --build-arg UNAME=$(id -un) --build-arg GNAME=$(id -gn) [client | basex]


then each time you want to launch the app

sudo docker-compose up -d


the api is ready, you can go to http://localhost:8984/home


before you can use the client you need to trigger this url http://localhost:8984/indexing


open http://localhost:8988 in your browser

Vhost or Cross Origins Policy

Cross origin poilicy will block the api requests from client

You'll need to install vhost domain for api and client, like and

Or in firefox install this addon to allow cors


to follow the webpack compilation process, run

sudo docker-compose logs -f


update the code

git pull origin master
git pull --recurse-submodules

restart the containers

docker-compose restart basex
docker-compose restart client

or rebuild if data was updated

docker-compose up -d --build


docker-compose build --no-cache [client | basex]
docker-compose up -d [client | basex]


run containers for prod

docker-compose -f docker-compose.yml -f up -d

client will be built the client container stop

basex container will stay up

you have to serve client/dist/index.html with your own webserver (e.g. nginx, apache, etc)

nginx conf

server {
  listen 80;
  server_name domain.tld;

  root /path/to/docker-gdp/client/dist/;
  index index.html;
  location / {
    try_files $uri $uri/ /index.html;

  charset utf-8;

  location ~/api(.*)$ {
    #proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffer_size          128k;
    proxy_buffers              4 256k;
    proxy_busy_buffers_size    256k;
    proxy_redirect      off;
    add_header Access-Control-Allow-Origin *;