From 5b21a876aa410003b0188b869969976b7eccc3ac Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Tue, 31 Mar 2020 00:45:43 +0200 Subject: [PATCH] Try provide docker setup --- docker/docker-compose.yml | 33 +++++++++++++++++++++++++++++++++ docker/docspell.conf | 28 ++++++++++++++++++++++++++++ docker/joex.dockerfile | 36 ++++++++++++++++++++++++++++++++++++ docker/joex/entrypoint.sh | 6 ++++++ docker/restserver.dockerfile | 16 ++++++++++++++++ 5 files changed, 119 insertions(+) create mode 100644 docker/docker-compose.yml create mode 100644 docker/docspell.conf create mode 100644 docker/joex.dockerfile create mode 100755 docker/joex/entrypoint.sh create mode 100644 docker/restserver.dockerfile diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000..bc3c208f --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,33 @@ +version: '3.7' +services: + restserver: + image: eikek0/docspell:restserver-0.4.0 + container_name: docspell-restserver + command: /opt/docspell.conf + ports: + - "7880:7880" + volumes: + - ${PWD}/docspell.conf:/opt/docspell.conf + depends_on: + - db + db: + image: postgres:11.7 + container_name: postgres_db + volumes: + - postgres_data:/var/lib/postgresql/data/ + environment: + - POSTGRES_USER=dbuser + - POSTGRES_PASSWORD=dbpass + - POSTGRES_DB=dbname + joex: + image: eikek0/docspell:joex-0.4.0 + container_name: docspell-joex + command: /opt/docspell.conf + ports: + - "7878:7878" + volumes: + - ${PWD}/docspell.conf:/opt/docspell.conf + depends_on: + - db +volumes: + postgres_data: diff --git a/docker/docspell.conf b/docker/docspell.conf new file mode 100644 index 00000000..7053a037 --- /dev/null +++ b/docker/docspell.conf @@ -0,0 +1,28 @@ +docspell.server { + base-url = "http://localhost:7880" + bind { + address = "0.0.0.0" + } + backend { + jdbc { + url = "jdbc:postgresql://db:5432/dbname" + user = "dbuser" + password = "dbpass" + } + } +} + +docspell.joex { + base-url = "http://joex:7878" + bind { + address = "0.0.0.0" + } + jdbc { + url = "jdbc:postgresql://db:5432/dbname" + user = "dbuser" + password = "dbpass" + } + scheduler { + pool-size = 1 + } +} diff --git a/docker/joex.dockerfile b/docker/joex.dockerfile new file mode 100644 index 00000000..58b86407 --- /dev/null +++ b/docker/joex.dockerfile @@ -0,0 +1,36 @@ +FROM alpine:latest + +ENV UNO_URL https://raw.githubusercontent.com/unoconv/unoconv/0.9.0/unoconv + +LABEL maintainer="eikek0 " + +RUN apk add --no-cache openjdk11-jre \ + unzip \ + bash \ + curl \ + ghostscript \ + tesseract-ocr \ + tesseract-ocr-data-deu \ + unpaper \ + wkhtmltopdf \ + libreoffice \ + ttf-droid-nonlatin \ + ttf-droid \ + ttf-dejavu \ + ttf-freefont \ + ttf-liberation \ + && curl -Ls $UNO_URL -o /usr/local/bin/unoconv \ + && chmod +x /usr/local/bin/unoconv \ + && ln -s /usr/bin/python3 /usr/bin/python \ + && mkdir -p /opt \ + && cd /opt \ + && curl -L -o docspell.zip https://github.com/eikek/docspell/releases/download/v0.4.0/docspell-joex-0.4.0.zip \ + && unzip docspell.zip \ + && rm docspell.zip \ + && apk del curl unzip + +COPY joex/entrypoint.sh /opt/entrypoint.sh + +EXPOSE 7878 + +ENTRYPOINT ["/opt/entrypoint.sh"] diff --git a/docker/joex/entrypoint.sh b/docker/joex/entrypoint.sh new file mode 100755 index 00000000..e27d1938 --- /dev/null +++ b/docker/joex/entrypoint.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "Starting unoconv listener" +unoconv -l & + +/opt/docspell-joex-0.4.0/bin/docspell-joex "$@" diff --git a/docker/restserver.dockerfile b/docker/restserver.dockerfile new file mode 100644 index 00000000..a5262910 --- /dev/null +++ b/docker/restserver.dockerfile @@ -0,0 +1,16 @@ +FROM alpine:latest + +LABEL maintainer="eikek0 " + +RUN apk add --no-cache openjdk11-jre unzip curl bash + +RUN mkdir -p /opt \ + && cd /opt \ + && curl -L -o docspell.zip https://github.com/eikek/docspell/releases/download/v0.4.0/docspell-restserver-0.4.0.zip \ + && unzip docspell.zip \ + && rm docspell.zip \ + && apk del unzip curl + +EXPOSE 7880 + +ENTRYPOINT ["/opt/docspell-restserver-0.4.0/bin/docspell-restserver"]