Experiments with an alternative BaseX multi-architecture docker image.
-
Supported platforms
linux/amd64
,linux/arm64
,linux/arm/v7
-
Images are published to docker hub and github container repositories for each release. See github action script
buildx.yml
. -
Runs as user 1000 rather than 1984 (see https://docs.basex.org/wiki/Docker#Non-privileged_User)
-
$BASEX_JVM environment support
The image includes the jars below in /lib/custom
saxon-HE-x.y.jar
from Saxonica tolib/custom
for XSLT 3.0 supportxmlresolver-x.y.jar
xmlresolver
This image from docker hub
docker pull quodatum/basexhttp:latest
This image from github ghcr.io
docker pull ghcr.io/quodatum/basexhttp:latest
Create and start a container named basex10
running the BaseX 10.3 http server on port 8080
docker run --name basex10 -p 8080:8080 -d quodatum/basexhttp:basex-10.3
Confirm working by browsing to site root page i.e. http://your-host:8080/. The DBA and Chat apps can not be used because no users are defined.
To create the admin user. Shell into the container...
docker exec -it basex10 /bin/sh
and run
echo "your password" | basex -cPASSWORD
exit
Restart the container to pick up the change.
docker container restart basex10
docker volume create my-basex-data
docker run -p 8080:8080 \
-v my-basex-data:/srv/basex/data \
-d quodatum/basexhttp:latest
mkdir data
chown -R 1000:1000 data
docker run -p 8080:8080 \
-v `pwd`/data:/srv/basex/data \
-d quodatum/basexhttp:latest
cat root.xqm
module namespace _ = 'urn:quodatum:test';
declare %rest:GET %rest:path('') %output:method('text')
function _:root(){
"Hello, I'm a new text only front page"
};
docker run -p 8080:8080 \
-v `pwd`/data:/srv/basex/data \
-v `pwd`/root.xqm:/srv/basex/webapp/restxq.xqm \
-d quodatum/basexhttp:latest
docker run -p 28080:8080 \
-v `pwd`/webapp:/srv/basex/webapp \
-v `pwd`/repo:/srv/basex/repo \
quodatum/basexhttp:latest
Tested largely with eclipse-temurin:17-jre
. This is based on ubuntu latest. It is used because it is available for all the supported platforms.
*
- --add-opens java.base/java.net=ALL-UNNAMED
- --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
@TODO
The official BaseX image on docker hub. Currently unmaintained. More information at basex#2051
docker pull basex/basexhttp:latest
-
BaseX 3-clause BSD License
-
Saxon-HE Mozilla Public License 2.0
-
XMLresolver Apache License version 2.0