mirror of
https://github.com/TheAnachronism/docspell.git
synced 2024-11-13 02:31:10 +00:00
5cd5ba46af
zlib 1.2.12-r0 is not working with openjdk, it affects the checksum calculation of the db migrations. It must be at least 1.2.12-r1. For some reason joex has this newer version, but the restserver image not. They are installed explicitely now on both images. That's why the migration is now disabled on rest-server in the docker-compose file. It is ok if this is run on one server. It can now happen that on first start joex is migrating the db and the restserver tries to do things that don't work yet - it is a corner case. This is removed with the next version. Refs: #1517
142 lines
4.7 KiB
YAML
142 lines
4.7 KiB
YAML
version: '3.8'
|
|
services:
|
|
|
|
# The restserver and joex containers defined here are configured
|
|
# using env variables. Both must connect to the same database and
|
|
# solr instance. More information on configuring can be found here:
|
|
# https://docspell.org/docs/configure
|
|
#
|
|
# Please replace the values of the following with a custom secret
|
|
# string:
|
|
#
|
|
# - DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET
|
|
# - DOCSPELL_SERVER_AUTH_SERVER__SECRET
|
|
# - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE
|
|
# (use the same value at the consumedir container!)
|
|
#
|
|
# After creating an account, you may want to set signup mode to
|
|
# "closed" or to "invite". When using invite, you must also set
|
|
# DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD to some
|
|
# secret.
|
|
restserver:
|
|
image: docspell/restserver:latest
|
|
container_name: docspell-restserver
|
|
restart: unless-stopped
|
|
ports:
|
|
- "7880:7880"
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
- DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880
|
|
- DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET=admin123
|
|
- DOCSPELL_SERVER_AUTH_SERVER__SECRET=
|
|
- DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD=dbpass
|
|
- DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/dbname
|
|
- DOCSPELL_SERVER_BACKEND_JDBC_USER=dbuser
|
|
- DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0
|
|
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true
|
|
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
|
|
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_ENABLED=true
|
|
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_ENABLED=true
|
|
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE=integration-password123
|
|
- DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open
|
|
- DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD=
|
|
- DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=false
|
|
- DOCSPELL_SERVER_BACKEND_DATABASE__SCHEMA_RUN__FIXUP__MIGRATIONS=false
|
|
- DOCSPELL_SERVER_BACKEND_DATABASE__SCHEMA_RUN__MAIN__MIGRATIONS=false
|
|
depends_on:
|
|
- solr
|
|
- db
|
|
|
|
joex:
|
|
image: docspell/joex:latest
|
|
container_name: docspell-joex
|
|
## For more memory add corresponding arguments, like below. Also see
|
|
## https://docspell.org/docs/configure/#jvm-options
|
|
# command:
|
|
# - -J-Xmx3G
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
- DOCSPELL_JOEX_APP__ID=joex1
|
|
- DOCSPELL_JOEX_PERIODIC__SCHEDULER_NAME=joex1
|
|
- DOCSPELL_JOEX_SCHEDULER_NAME=joex1
|
|
- DOCSPELL_JOEX_BASE__URL=http://docspell-joex:7878
|
|
- DOCSPELL_JOEX_BIND_ADDRESS=0.0.0.0
|
|
- DOCSPELL_JOEX_FULL__TEXT__SEARCH_ENABLED=true
|
|
- DOCSPELL_JOEX_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
|
|
- DOCSPELL_JOEX_JDBC_PASSWORD=dbpass
|
|
- DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://db:5432/dbname
|
|
- DOCSPELL_JOEX_JDBC_USER=dbuser
|
|
- DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial
|
|
ports:
|
|
- "7878:7878"
|
|
depends_on:
|
|
- solr
|
|
- db
|
|
## Uncomment when using the "docker" runner with addons
|
|
# volumes:
|
|
# - /var/run/docker.sock:/var/run/docker.sock
|
|
# - /tmp:/tmp
|
|
|
|
# The consumedir container watches a directory for files to upload
|
|
# to docspell restserver. This uses the `dsc` tool. For information
|
|
# on the available options, see `dsc --help`.
|
|
# https://github.com/docspell/dsc
|
|
#
|
|
# The value after `Docspell-Integration` must match the secret
|
|
# specified at the restserver via
|
|
# DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE.
|
|
#
|
|
# The --not-matches "**/.*" option is to exclude hidden files.
|
|
consumedir:
|
|
image: docspell/dsc:latest
|
|
container_name: docspell-consumedir
|
|
command:
|
|
- dsc
|
|
- "-d"
|
|
- "http://docspell-restserver:7880"
|
|
- "watch"
|
|
- "--delete"
|
|
- "-ir"
|
|
- "--not-matches"
|
|
- "**/.*"
|
|
- "--header"
|
|
- "Docspell-Integration:integration-password123"
|
|
- "/opt/docs"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./docs:/opt/docs
|
|
depends_on:
|
|
- restserver
|
|
|
|
db:
|
|
image: postgres:14.3
|
|
container_name: postgres_db
|
|
restart: unless-stopped
|
|
volumes:
|
|
- docspell-postgres_data:/var/lib/postgresql/data/
|
|
environment:
|
|
- POSTGRES_USER=dbuser
|
|
- POSTGRES_PASSWORD=dbpass
|
|
- POSTGRES_DB=dbname
|
|
|
|
solr:
|
|
image: solr:9
|
|
container_name: docspell-solr
|
|
restart: unless-stopped
|
|
volumes:
|
|
- docspell-solr_data:/var/solr
|
|
command:
|
|
- solr-precreate
|
|
- docspell
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8983/solr/docspell/admin/ping"]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 2
|
|
start_period: 30s
|
|
|
|
volumes:
|
|
docspell-postgres_data:
|
|
docspell-solr_data:
|