Discussion:
[basex-talk] Dockerizing a BaseX app
Richard Stanley
2017-06-28 03:34:32 UTC
Permalink
Hi,

I'm dockerizing a BaseX app:
https://github.com/openhie/openinfoman

This has been done by others using an Ubuntu image but I'd like to do it with the official BaseX Docker image.

I've had assistance here already (Thanks!):
https://github.com/BaseXdb/basex/issues/1467

Modules can be mounted as volumes from the GitHub repo into the BaseXRepo and BaseXWeb container dirs just fine. But, there's an error suggesting that the namespace is confused when hitting the server, e.g.:

Stopped at /srv/BaseXWeb/adapter.xqm, 3/85:
[XQST0059] Module not found: https://github.com/openhie/openinfoman/csr_proc.

I'm guessing that when modules are installed with 'basex repo install' the modules URIs are rewritten but this doesn't happen if they are only mounted.

One solution is to install the xqms inside a container instead of mounting them. This fails because basex-api.jar is not in the classpath for the basex command inside the container.

So, does this mean one must change the classpath/command to run basex for the container? If so, a hint here would be great and happy to educate myself.

Best,
Richard
Richard Stanley
2017-06-28 20:17:09 UTC
Permalink
Hi,

As a follow-up that I made for another colleague, here’s a fully reproducible, simple example with instructions. This appears more an issue with the basex image in docker-compose than the particular app being installed.

Best,
https://gist.github.com/citizenrich/ebd4036e0f8eb8524e9788a1ff1e381c

Richard Stanley
twitter.com/datarichness

On Jun 27, 2017, at 11:34 PM, Richard Stanley <***@gmail.com> wrote:

Hi,

I'm dockerizing a BaseX app:
https://github.com/openhie/openinfoman

This has been done by others using an Ubuntu image but I'd like to do it with the official BaseX Docker image.

I've had assistance here already (Thanks!):
https://github.com/BaseXdb/basex/issues/1467

Modules can be mounted as volumes from the GitHub repo into the BaseXRepo and BaseXWeb container dirs just fine. But, there's an error suggesting that the namespace is confused when hitting the server, e.g.:

Stopped at /srv/BaseXWeb/adapter.xqm, 3/85:
[XQST0059] Module not found: https://github.com/openhie/openinfoman/csr_proc.

I'm guessing that when modules are installed with 'basex repo install' the modules URIs are rewritten but this doesn't happen if they are only mounted.

One solution is to install the xqms inside a container instead of mounting them. This fails because basex-api.jar is not in the classpath for the basex command inside the container.

So, does this mean one must change the classpath/command to run basex for the container? If so, a hint here would be great and happy to educate myself.

Best,
Richard

Loading...