elucidate-server icon indicating copy to clipboard operation
elucidate-server copied to clipboard

Docker container

Open tomcrane opened this issue 7 years ago • 8 comments

From @workergnome:

An up-to-date Docker container for Elucidate, with complete installation and configuration documentation, suitable for running via Kubernetes. Our preference would be that this would be made publicly available to anyone who needs it via Github.

Encompasses #60, #25

tomcrane avatar May 11 '18 07:05 tomcrane

@danielgrant says:

[we...] already maintain something like this internally in the digirati-co-uk repository [...] In terms of making it a “complete installation”, this might be a good opportunity to implement the automatic installation that we discussed some time ago, whereby the database creates itself without the logwork required to build it manually. In terms of configuration documentation, I believe the existing README.md in the Elucidate repository is already sufficient but obviously there would need to be some documentation around the Docker image.

My preference is that we would maintain this Docker image in the dlcs GitHub repository, to sit alongside the Elucidate code itself.

tomcrane avatar May 11 '18 07:05 tomcrane

That sounds like what @mattmcgrattan and I talked about, and all seems lovely to me.

workergnome avatar May 11 '18 12:05 workergnome

Summary for @workergnome:

  • Docker container for Elucidate, with complete installation and configuration documentation, suitable for running via Kubernetes. This will be available alongside Elucidate on GitHub in the DLCS organisation.
  • The Dockerised version will set up the required database tables in PostgreSQL on first startup.
  • We will publish Elucidate on DockerHub.

tomcrane avatar May 11 '18 14:05 tomcrane

Pull request open in #84.

garyttierney avatar Jun 05 '18 16:06 garyttierney

So I'm trying to verify that this works, and I can't for the life of me figure out how to get it running. The dockerfile included in the dev branch seems incomplete, or perhaps I'm misinterpreting what it would take to get it running?

workergnome avatar Aug 07 '18 15:08 workergnome

Hi @workergnome,

The included Dockerfile is built into a container image by Maven at build time, so running mvn package should produce a container image locally named 'dlcs/elucidate-server' tagged with the version in the POM.

There's some updated information on the configuration options here: https://github.com/dlcs/elucidate-server/blob/96186f09d262a2ca09bb88c88980765693fdf0b2/README.md#configuration. We'll also need to add some info on how the container is built.

garyttierney avatar Aug 07 '18 16:08 garyttierney

I can't get the development build to work, either locally or within a container with the following dockerfile:

FROM maven:3-jdk-10

COPY ./elucidate-server /app

WORKDIR /app/elucidate-parent
RUN mvn clean package install -U

in both cases, it fails running the tests:

relevant_command_line_output.txt com.digirati.elucidate.test.repository.impl.AnnotationCollectionStoreRepositoryJDBCImplTest.txt com.digirati.elucidate.test.repository.impl.AnnotationStoreRepositoryJDBCImplTest.txt

If I disable the tests, I end up with the same error as #89.

workergnome avatar Aug 07 '18 18:08 workergnome

Hi @workergnome,

It looks like there could be some issues with JDK 9+ and the version of PowerMock currently being used by Elucidate when it runs some of it tests. This would account for the first issue you're seeing which goes away after you disable the tests.

We're having a look into #89 - it looks like it's possibly related to the Docker Maven plugin trying to parse a Docker config file and failing. Stay tuned to #89 for updates.

Cheers, Daniel.

danielgrant avatar Aug 07 '18 18:08 danielgrant