Install Skosmos with Fuseki in Docker - NatLibFi/Skosmos GitHub Wiki

It is possible to run Skosmos within a Docker container. We provide the Dockerfiles necessary to build an image and instructions for how to run it within a container. If you are familiar with Docker tools, this is an easy way of testing Skosmos without having to install a lot of dependencies. There are two alternate setups:

  1. Running a single container with just Skosmos itself (you will have to run a separate instance of Fuseki outside the container)
  2. Running three containers containing Skosmos, Fuseki and the Varnish HTTP cache, using docker-compose to bind them together

In both cases the configuration mirrors the setup used in the InstallTutorial: there are two example vocabularies (STW Thesaurus and UNESCO Thesaurus) that you can browse. This is not intended for production use, but rather as a starting point for experimentation and further configuration.

See the README.md and other files in the ./dockerfiles/ directory of Skosmos for more about using Skosmos with Fuseki in Docker.

This page had more information about Skosmos under Docker before, but that information is mostly outdated because of improvements made in Skosmos 2.10. If you like you can still consult the previous version for reference.

Troubleshooting

  1. Check the logs when running docker-compose or docker build. Anything like error messages, or containers exiting instead of running may indicate the problem.
  2. If you are using docker-compose, it is a good idea to run docker-compose ps after starting your services to confirm everything is running as expected. For instance, at the time of writing, the Skosmos installation in Docker Compose is expected to create three services (Skosmos, Jena Fuseki, and Varnish cache.)
  3. Check docker stats to see if your CPU or memory are limiting the images, also check top and/or htop in case of performance issues.
  4. If you are re-trying something on your Docker Compose installation (e.g. development), after changing the configuration it might be a good idea to stop and remove volumes, then force recreation and load the data, to start with a clean environment. This can be done with the following commands: docker-compose down -v and docker-compose up --force-recreate

Using Pre-built Docker Images (Works with Skosmos 3)

You can view the tags associated with Skosmos releases in its Quay.io repository. For more details about releases and their related tags, see our Releases page.

Tags

Our releases follow semantic versioning and we apply it on Quay.io as follows:

  • The latest tag always points to the most recent release.
  • When a patch version changes, a corresponding minor version tag is also created.
  • For each nn.nn.nn release tag, a date-tagged version also exists.

Pulling from Quay.io

You can either pull the Docker image separately with docker pull quay.io/natlibfi/skosmos:[tag] and then run a container from it as you prefer or you can both pull and run it in a single command docker run -d --name skosmos-test -p 8080:80 quay.io/natlibfi/skosmos:[tag].