Inital commit - Docspell
This commit is contained in:
147
docker-compose.yml
Normal file
147
docker-compose.yml
Normal file
@@ -0,0 +1,147 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
restserver:
|
||||
image: docspell/restserver:latest
|
||||
container_name: docspell-restserver
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "7880:7880"
|
||||
environment:
|
||||
- TZ=Asia/Jerusalem
|
||||
- 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
|
||||
depends_on:
|
||||
- solr
|
||||
- db
|
||||
networks:
|
||||
- network
|
||||
- internal
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=docspell_network"
|
||||
- "traefik.http.routers.docspell.entrypoints=websecure"
|
||||
- "traefik.http.services.docspell.loadbalancer.server.port=7880"
|
||||
- "traefik.http.routers.docspell.rule=Host(`docs.pukeko.xyz`)"
|
||||
- "traefik.http.routers.docspell.tls.certresolver=pukekoresolver"
|
||||
# - "traefik.http.routers.docspell.middlewares=authelia@docker"
|
||||
volumes:
|
||||
- ./config/docspell.conf:/opt/docspell.conf
|
||||
command:
|
||||
- /opt/docspell.conf
|
||||
|
||||
|
||||
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=Asia/Jerusalem
|
||||
- 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
|
||||
- DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprint
|
||||
ports:
|
||||
- "8880:7878"
|
||||
depends_on:
|
||||
- solr
|
||||
- db
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
- ./config/docspell.conf:/opt/docspell.conf
|
||||
## 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:15.2
|
||||
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
|
||||
networks:
|
||||
- internal
|
||||
|
||||
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
|
||||
networks:
|
||||
- internal
|
||||
networks:
|
||||
network:
|
||||
driver: bridge
|
||||
internal:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user