docspell/docker/restserver.dockerfile
totti4ever bcb42920e1
Proper docker files (build from code) - 2.1 (#311)
* new file: base.dockerfile
base docker file for compiling sources

deleted: build-images.sh
replaced by dev-build-images.sh

deleted: build-joex-base.sh
replaced by base / joex dockerfile

changed: consumedir.dockerfile
based on compiled tool-binaries from base image
added health check (basic, check for REST server connection)

new file: dev-build-images.sh
added one build script for all purposes
derives tag from version-file (all snapshot become latest)

new file: dev-push-images.sh
added one push script for all purposes (similar to build)

changed: docker-compose.yml
	* changed regarding entrypoints and commands now being in the images
	* added health checks for 3rd party images (postgres and solr)
	* some minor renaming of the areas

renamed: entrypoint-joex.sh -> joex-entrypoint.sh
	* for better order

renamed: joex-base.dockerfile -> joex.dockerfile
	* also reworked to base on main base image
	* plus renamed for better order

deleted: push-images.sh
	* replaced by dev-push-images.sh

deleted: push-joex-base.sh
	* not necessary anymore

changed: restserver.dockerfile
	* reworked to be base on main base image
	* smaller
	* added health check

* updated docker-compose to new images

* update docker-compose.yml

remove unnecessary network entries

* update docker-compose.yml

added missing volume for postgres

* reverted image naming scheme and added log to docker build

1. go back to local code instead of cloning git
2. added build log to docker image build script, incl. log build times.
Logs can be found in `docker/dev-log` folder
3. added docker docs and new docker build logs folder to .gitignore
4. added

* build docker images from local files instead of cloned remote repo, plus time recording of builds
 - switched way docker images are built from remote git repo to local files (which should be the git repo, but may have local changes)
 - the docker build logs will show the time needed for the single image builds

* reverted deletion of joex base dockerfile

* joex base dockerfile plus smaller improvements
  - separate joex base file
  - added docker hook to improve Docker Hub experience

* updated docker hub build hook

corrected wrong path (base is build context)

* Fix of docker hub build hook again

base path seems to be the dockerfile's folder

* fixed typo in .dockerignore

* added ability to spool log to console instead of file, especially for automated docker builds

* improved logging of build script

* minor tweaks from review (.dockerignore, docker hub hook and an error when using other repos)

* added push of non-base images to automated docker hook

* fixes for docker hub build hook

* fixed/improved docker build hook

* replaced tag-version of untagged versions with SNAPSHOT (was LATEST, which should be used or stable tags only)
plus, made the version tag mandatory for the dockerfiles

* adapted docker build and push scripts for tagged images (using docker automated builds)

* fixed docker build hook
stupid copy & paste mistake...

* minor mistake in build hook

* added validation of matching version numbers for docker automated builds (for non-snapshot builds)

* fixed missing fi in new validity check

* fixed docker build hook validity check

* mixed up version comparison fixed

* relative path error in hook validation

* mixed up version comparison fixed

* test

* fixed error in version matching for docker hook

* test

* improved versioning, so that docker images are v0.00.00

* revert version.sbt

got overwritten by accidence

* reverted version.sbt

* improved environment parameters, especially enabled setting DB params by them

	- additionally added .env file to have the same env variables for all containers

* cleaned up docker-compose.yml to fit public origin repo again

* optimized way db params are set

figured out, we do not need the DB-String to be built at startup, docspell.conf reads also multiple variables.
I still kept the restserver entrypoint, although we do not need it now - it might be helpful in the future or for debugging pruposes

* added restart option  to restart docspell, e.g. after a system reboot - but only if it was running before
2020-10-19 13:56:44 +02:00

22 lines
585 B
Docker

## RESTSERVER
ARG VERSION=
ARG REPO=
# hack to use args in from
FROM ${REPO}:base-binaries-${VERSION} as docspell-base-binaries
FROM ${REPO}:base-${VERSION}
RUN apk add --no-cache --virtual .restserver-dependencies openjdk11-jre bash
COPY --from=docspell-base-binaries /opt/docspell-restserver /opt/docspell-restserver
COPY restserver-entrypoint.sh /opt/restserver-entrypoint.sh
ENTRYPOINT ["/opt/restserver-entrypoint.sh"]
CMD ["/opt/docspell.conf"]
EXPOSE 7880
HEALTHCHECK --interval=1m --timeout=10s --retries=2 --start-period=30s \
CMD wget --spider http://localhost:7880