Files
docker-gdp/README.md
T
2020-07-14 16:52:39 +02:00

99 lines
2.1 KiB
Markdown

# docker-gdp
## 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 https://figureslibres.io/gogs/bachir/docker-gdp.git
```
## Docker
### start docker engine
```
sudo systemctl start docker
```
### build
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]
```
### run
then each time you want to launch the app
```
sudo docker-compose up -d
```
## API
the api is ready, you can go to http://localhost:8984/home
### indexing
before you can use the client you need to trigger this url http://localhost:8984/indexing
## Client
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 dev.gdp.net and dev.api.gdp.net
Or in firefox install this addon to allow cors addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
## Logs
to follow the webpack compilation process, run
```
sudo docker-compose logs -f
```
## Update
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
```
or
```sh
docker-compose build --no-cache [client | basex]
docker-compose up -d [client | basex]
```
## Prod
run containers for prod
```
docker-compose -f docker-compose -f docker-compose.yml -f docker-compose.prod.yml 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)
## Doc
https://github.com/guidesDeParis/webapp/blob/master/install.md
http://docs.basex.org/wiki/Docker
https://hub.docker.com/r/basex/basexhttp