Sign inSign up

fmatthies/art-decor

By fmatthies

•Updated almost 7 years ago

This docker image hosts an Art-Decor installation with the basic configuration

Image
1

1.1K

fmatthies/art-decor repository overview

This image was created following the Art-Decor installation guide:
https://art-decor.org/mediawiki/index.php?title=ART-DECOR_installation_on_linux⁠
Only the basic software & data packages were installed to minimize the image size (see: https://art-decor.org/mediawiki/index.php?title=ART-DECOR_installation_on_linux#Install_ART-DECOR_software_.26_data⁠). To install additional terminologies, etc. see the former link as well.

The four tags differ in the following way:

TagDescription
latestMinimal installation with basic software and data packages (no terminologies, so the Terminology menus won't work).
loincThe same as latest but with a LOINC terminology installed.
completeThe same as loinc but with a SNOMED demo terminology installed, as well.
tutorialThis images is built on top of complete but also features a tutorial project TMF Seminar Metadata.

⁠Run

The image also contains an nginx server for proxying the Art-Decor tool and the eXist database. Starting the whole setup in its basic form is as easy as:
docker run -p 8085:80 fmatthies/art-decor
The Art-Decor Home Page should be accessible from: http://localhost:8085/art-decor/home⁠
The eXistDB Dashboard should be accessible from: http://localhost:8085/apps/dashboard/index.html⁠

If your want to publish on another port than 8085 you will need to replace it with the port of your choosing and set a respective environment variable PORT. The environment variable would be indispensable in this case or else the set up won't work:
docker run -p 8090:80 -e PORT=8090 fmatthies/art-decor

The formerly described setup should suffice if you just want to install the Docker container locally. However, if you install it on a server and access Art-Decor remotely, you should set the variable EXT_URL that points to the FQDN of your server:
docker run -p 8085:80 -e EXT_URL=http://YOUR_URL fmatthies/art-decor
In this case, the published port doesn't matter (i.e. you don't need to give a PORT variable if you changed it), as you acces the Art-Decor tool through http://YOUR_URL
The Art-Decor Home Page should now be accessible from: http://YOUR_URL/art-decor/home
The eXistDB Dashboard should now be accessible from: http://YOUR_URL/apps/dashboard/index.html

According to the PORT (8085 by default) or EXT_URL (http://localhost by default) variable the following file will be changed in the container by a python script (/container_init.py) on a first time run:

/usr/share/tomcat/webapps/art-decor/WEB-INF/resources/config/properties-local.xml

Memory usage will be configured from the value returned by cat /proc/meminfo|grep MemTotal in the container.
If you would like to specify a max total amount yourself (e.g. 24 GB) run the image with environment variables MEMORY & MEMORY_UNIT like this:
docker run -p 8085:80 -e MEMORY=24 -e MEMORY_UNIT=gb fmatthies/art-decor,
docker run -p 8085:80 -e MEMORY=24000 -e MEMORY_UNIT=mb fmatthies/art-decor or
docker run -p 8085:80 -e MEMORY=24000000 -e MEMORY_UNIT=kb fmatthies/art-decor

MEMORY_UNIT defaults to kb if it's not provided, but MEMORY is.
According to the memory provided, usage will be calculated and the following files in the container are changed:

/usr/share/tomcat/bin/setenv.sh

/usr/local/exist_atp/tools/wrapper/conf/wrapper.conf  
/usr/local/exist_atp/bin/functions.d/eXist-settings.sh  
/usr/local/exist_atp/conf.xml

On container start up the memory allocation will be shown, so you can check if it is what you wanted.

⁠Docker Volumes

With the mount argument of docker you can create a volume that links to the existDB to create backups etc.:
For instance --mount source=docker_exist,destination=/usr/local/exist_atp; this would create a volume named docker_exist with the contents of the exist_atp folder of the container.
In the former case, make sure a volume named docker_exist doesn't already exist on your host, or else the folder with the eXistDB in the container will be overwritten with the contents of the volume. (You can list all volumes on the host system with docker volume ls.)

⁠Maintenance

Tomcat and eXist commands for starting/stopping the services are available from the command line: catalina ARG & exist ARG respectively.
Under /opt/art-decor-linux/tooling/backups is a backup of the eXist-DB (/usr/local/exist_db) with the basic configuration.
The config file for the nginx server resides under /etc/nginx/conf.d/art-decor.conf.

⁠eXistDB / Art-Decor Credentials

⁠DB Admin

Administration of the eXist database (from within Art-Decor as well)
username: admin
password: root

⁠Project Admin

Set up and editing rights for projects
username: project-admin
password: project

Be sure to change these via the eXistDB app.

⁠Ports

Exposed:
80 (nginx)

In container:
8080 (Art Decor)
8877 (eXistDB Dashboard)

⁠Log Files

eXist-DB: /usr/local/exist_atp/webapp/WEB-INF/logs/exist.log
Tomcat: /usr/share/tomcat/logs/art-decor.log

Tag summary

Content type

Image

Digest

Size

1016.3 MB

Last updated

almost 7 years ago

docker pull fmatthies/art-decor