Sign inSign up

skyplabs/webprotege

By skyplabs

•Updated over 7 years ago

Docker image for WebProtégé

Image
5

10K+

skyplabs/webprotege repository overview

⁠WebProtégé

Codacy Badge

This image allows you to deploy WebProtégé⁠ as a microservice⁠.

WebProtégé is a free, open-source ontology editor and framework for building intelligent systems.

⁠How to

⁠Create your container

To start a new instance:

docker run --name webprotege -d \
  -v webprotege_data:/srv/webprotege \
  -v webprotege_logs:/var/log/webprotege \
  --link mongodb -p 8888:8080 \
  skyplabs/webprotege

The web application will be accessible from the host system on port 8888. All the persistent data will be stored in two volumes managed by Docker and called respectively webprotege_data and webprotege_logs. mongodb must be the name of a MongoDB⁠ docker container listening on port 27017.

To start a MongoDB instance using Docker (must be started before WebProtégé):

docker run --name mongodb -d -v mongodb_data:/data/db mongo:3

All the persistent data will be stored in a volume managed by Docker and called mongodb_data.

To start the two containers using only one command, you can use Docker Compose⁠:

docker-compose up -d
⁠Create an admin account

To bootstrap your new container with an admin account, you need to use the WebProtégé Command Line Tool⁠. This Docker image embeds natively this tool.

Once your new container up and running:

docker exec -it <container name> webprotege-cli create-admin-account
⁠Finalise your installation

After having signed in your new WebProtégé instance, you need to specify the host name and a couple of other parameters on the settings page⁠.

⁠Customise the configuration

You can customise the configuration of WebProtégé by injecting the webprotege.properties⁠ and/or mail.properties⁠ files into the container using the volume command. The files must be placed in /etc/webprotege.

For example:

export WP_CONFIG_DIR=/etc/webprotege
docker run --name webprotege -d \
  -v webprotege_data:/data/webprotege \
  -v webprotege_logs:/var/log/webprotege \
  -v $(pwd)/config/webprotege.properties:${WP_CONFIG_DIR}/webprotege.properties:ro \
  -v $(pwd)/config/mail.properties:${WP_CONFIG_DIR}/mail.properties:ro \
  --link mongodb -p 8888:8080 \
  skyplabs/webprotege

Note that application.version and data.directory are defined in Dockerfile as environment variables and will overwrite the values contained in webprotege.properties. However, you can change them at build-time via the arguments WEBPROTEGE_VERSION and WEBPROTEGE_DATA_DIR.

For example:

docker build -t webprotege --build-arg WEBPROTEGE_DATA_DIR=/data/webprotege .

⁠License

MIT⁠

Tag summary

Content type

Image

Digest

Size

154.5 MB

Last updated

over 7 years ago

docker pull skyplabs/webprotege