levigo / jadice-server-docker

Dockerfile for building a docker image containing the levigo jadice server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

levigo jadice server Docker Container

jadice server & docker

Table of Contents

  1. Introduction
  2. Requirements
  3. Environment variables
  4. Configuration
  5. Logging
  6. docker-compose

Introduction

This repository contains a Dockerfile for building a docker image containing the levigo jadice server. It is provided "as is", see LICENSE.md. The image is based on openjdk:11.0.8-jre-buster.

Requirements

  • You need version 5.8.0.0 or newer of the jadice server distribution to use jadice server in a docker container with Java 11. For more information on how to get the jadice server distribution visit jadice.com.
  • docker-engine 17.06 or newer is required for building and running the Image.
  • docker-compose version 1.16.0 or newer for the use of docker-compose.yml.
  • For running jadice-server with Java 8 you can checkout the branch java8. This requires version 5.5 or newer of the jadice server distribution.

Building the Image

  • Copy the jadice server distribution zip into the resources directory.
  • Apply customization if needed (see Configuration)
  • Run:
docker build -t=<image-name> .
docker run -p 61616:61616 <image-name>

Environment variables

jadice server evaluates the following environment variables during start.

  • spring.profiles.active - active features for jadice server (see also <jadice-server-dir>/server-config/application/active-features.xml)
  • jadice.server.activemq-host - set the Apache ActiveMQ broker host (by default jadice server starts its own broker on localhost)

Configuration

In order to customize the configuration of jadice server you need to copy your existing configuration into the subfolder customization. The docker build will copy all files into the directory <jadice-server-dir>/ inside the container.

Logging

There are two ways to access the logs from jadice server:

  • mount an extra volume for log files
  • use the docker logging driver

jadice server writes logs by default to <jadice-server-dir>/logs. To access the log files, mount some directory from the host and jadice server will write the files in the host's file system.

docker run -v <host-path>:/opt/jadice-server/logs <images-name>

Also the logs are available over the docker logs functionality.

docker-compose

The docker-compose.yml shows an example implementation of the Compose file for jadice server. The docker-compose file defines three services:

  • js-amq - a jadice server instance with only the embedded-broker activated
  • js-convert - a convert instance of jadice server
  • js-webservice - the webservice entrypoint

docker-compose.yml uses the environment variables to configure the active features for jadice server instances. All three services connect together over the js-amq instance. To submit jobs to the jadice server you can either use the webservice interface or the default JMS interface. Both submit jobs to the JMS request queue which is consumed by the js-convert instance.

About

Dockerfile for building a docker image containing the levigo jadice server

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Dockerfile 100.0%