Digital Syriac Corpus

Srophé Application : Documentation

Deploying with Docker

References

Offical eXist-db Docker documentation

Requirements

Example

https://github.com/srophe/srophe-docker

Setup

srophe-docker/
-- autodeploy/
---- srophe.xar (srophe eXist application)
---- srophe-data.xar (application TEI data)
---- expath-crypto-exist-lib-0.6.xar (used for GitHub webhook syncing)
---- functx-1.0.xar	(used by Srophe application)
---- githubxq-1.0.5.xar (used for GitHub webhook syncing)

-- conf/ (Optional. For making custom changes to the default eXist-db setup)
---- controller-config.xml	(Include only if you want to change application root)
---- exist-webapp-context.xml (Include only if you want to change application root)
---- conf.xml (Changes may include changing you cache settings. See: [https://exist-db.org/exist/apps/doc/tuning](https://exist-db.org/exist/apps/doc/tuning)])

-- Dockerfile

-- docker-compose

Example Docker file, simple single stage:

Simple single stage setup:

# Specify the eXist-db release as a base image
FROM existdb/existdb:5.0.0

# Copy Srophe required libraries/modules to autodeploy, include the srophe.xar and the srophe-data.xar
COPY autodeploy/*.xar /exist/autodeploy/

# OPTIONAL: Copy custom controller-config.xml to WEB-INF. This sets the root app to srophe.
COPY conf/controller-config.xml /exist/webapp/WEB-INF/

# OPTIONAL: Copy custom jetty config to set context to '/'
# See: https://exist-open.markmail.org/message/gjp2po2ducmckvix?q=set+app+as+root+order:date-backward
COPY conf/exist-webapp-context.xml /exist/tools/jetty/webapps/

EXPOSE 8080 8443

# Start eXist-db
CMD [ "java", "-jar", "start.jar", "jetty" ]

Example docker-compose file:

version: '2'

services:

  srophe:
    build: ./
    volumes:
      - /EXIST-HOME/srophe/data:/exist/webapp/WEB-INF/data
    ports:
      - "localhost:8080:8484"