docspell/docker/docker-compose/docker-compose.yml

123 lines
3.8 KiB
YAML
Raw Normal View History

2021-05-30 22:07:11 +00:00
version: '3.8'
services:
2021-10-25 12:06:29 +00:00
# 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
2021-11-22 11:49:29 +00:00
# (use the same value at the consumedir container!)
2021-05-30 22:07:11 +00:00
restserver:
image: docspell/restserver:latest
container_name: docspell-restserver
restart: unless-stopped
ports:
- "7880:7880"
2021-10-25 12:06:29 +00:00
environment:
- TZ=Europe/Berlin
- DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880
2021-10-25 12:06:29 +00:00
- 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
2021-05-30 22:07:11 +00:00
depends_on:
- solr
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
2021-05-30 22:07:11 +00:00
restart: unless-stopped
2021-10-25 12:06:29 +00:00
environment:
- TZ=Europe/Berlin
- 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
2021-05-30 22:07:11 +00:00
ports:
- "7878:7878"
depends_on:
- solr
2021-10-25 12:06:29 +00:00
# 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.
2021-05-30 22:07:11 +00:00
consumedir:
2021-07-30 14:45:38 +00:00
image: docspell/dsc:latest
2021-05-30 22:07:11 +00:00
container_name: docspell-consumedir
command:
- dsc
- "-d"
- "http://docspell-restserver:7880"
- "watch"
- "--delete"
- "-ir"
- "--not-matches"
- "**/.*"
- "--header"
2021-10-25 12:06:29 +00:00
- "Docspell-Integration:integration-password123"
- "/opt/docs"
2021-05-30 22:07:11 +00:00
restart: unless-stopped
volumes:
- ./docs:/opt/docs
depends_on:
- restserver
db:
2022-05-18 02:58:58 +00:00
image: postgres:14.3
2021-05-30 22:07:11 +00:00
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:
2022-05-14 00:39:24 +00:00
image: solr:9
2021-05-30 22:07:11 +00:00
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"]
2021-05-30 22:07:11 +00:00
interval: 1m
timeout: 10s
retries: 2
start_period: 30s
volumes:
docspell-postgres_data:
docspell-solr_data: