D4ST Link Manager BaseX Docker Container
The d4st/link-manager-basex container provides a BaseX HTTP server configured with the DITA for Small Teams Link Manager application.
The container runs the BaseX HTTP server with the Link Manager Web application deployed. It depends on the DITA Open Toolkit, provided by a separate container running on the same Docker machine, to provide the XML entity resolution catalogs needed to parse DITA documents added to the database, either manually or through the D4ST git hooks.
Container Details
- URL
- https://hub.docker.com/r/d4st/link-manager-basex/
- container name
- d4st/link-manager-basex
Usage
To run the container in isolation you must first run the d4st/dita-ot container so that the Link Manager has access to the DITA Open Toolkit's catalogs. You should also mount a local directory as the /data volume so that data will be saved locally (otherwise your databases will be lost when the container is removed).
run --rm -it -p 8984:8984 \ --volumes-from dita-ot \ --name=linkmgr \ -v /Users/ekimber/temp/data:/data \ d4st/link-manager-basex
- --rm
- Automatically removes the container when it stops. This is useful for development and testing to avoid having to manually remove the container every time you rebuild it. Omit this parameter if you want the container to be more persistent.
- -it
- Runs the container in interactive mode and with a terminal. Lets you see the messages the server puts up. Replace this with -d if you want to run the server in the background.
- -p 8984:8984
- This maps local (to your machine) port 8984 to container port 8984. The first port number is what you specify to connect to the Web application. If you are running on Windows or OS X then you need the IP address of your docker machine (docker-machine ip default). If you are running on Linux then you can use localhost and the port. You can use any available port for the first port value if 8984 doesn't work for some reason. If you make the port 80 then you don't have to specify the port when connecting to the server.
- --volumes-from dita-ot
- This makes the shared volumes from the dita-ot container available to this container. The value "dita-ot" is the name specified on the --name parameter when you started the d4st/dita-ot container.
- --name=linkmgr
- The name for the container. You can specify anything. Having set the name you can use it anywhere a container ID is expected, e.g. docker exec -it linkmgr /bin/bash.
- -v ...
- Connects a local directory (/Users/ekimber/temp/data) to the /data volume in the container. Under OS X and Windows the local directory must be within a user's home directory. Under Linux it can be any directory. CAUTION:
If you don't specify a local directory then the databases will be created within the container and will go away when the container is removed.
- d4st/link-manager-basex
- This is the name of the container to run. If the container is not already on your system Docker will pull it down from the Docker hub, using the default tag "latest", which is normally what you want. If you want a specific tag you can specify it as :tagname after the container name.
If you need to update your local copy you can use docker pull d4st/link-manager-basex to get the latest version.
Configuration Details
CATFILE = /opt/dita-ot/DITA-OT/catalog-dita.xml DTD = true SKIPCORRUPT = true CHOP = false
The CATFILE value refers to the volume used from the d4st/dita-ot container via the --volumes-from parameter explained above.