josiah
7b38b89acb
1. Fuck around with Goof configuration. I think ultimately this never went anywhere, and I'll probably rip it out, but I forgot to commit it at the time so i'm including it just to be safe. 2. Home services and home net refactor. Smaller clean ups 3. Removal of wg stuff.
142 lines
5.0 KiB
YAML
142 lines
5.0 KiB
YAML
version: '3.8'
|
|
networks:
|
|
pubnet:
|
|
external: false
|
|
|
|
volumes:
|
|
traefik_acme:
|
|
traefik_logs:
|
|
docs:
|
|
|
|
docspell-postgres_data:
|
|
docspell-solr_data:
|
|
|
|
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
|
|
ports:
|
|
- "7880:7880"
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
- "DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880"
|
|
- "DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET={{ vault_DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET }}"
|
|
- "DOCSPELL_SERVER_AUTH_SERVER__SECRET={{ vault_DOCSPELL_SERVER_AUTH_SERVER__SECRET }}"
|
|
- "DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD }}"
|
|
- "DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/dbname"
|
|
- "DOCSPELL_SERVER_BACKEND_JDBC_USER={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_USER }}"
|
|
- "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={{ vault_DOCSPELL_INTEGRATION_PASSWORD }}"
|
|
- "DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open"
|
|
- "DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD={{ vault_DOCSPELL_SERVER_BACKEND_INVITE_SIGNUP_PASSWORD }}"
|
|
- "DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=false"
|
|
depends_on:
|
|
- solr
|
|
- db
|
|
|
|
joex:
|
|
image: docspell/joex:latest
|
|
## For more memory add corresponding arguments, like below. Also see
|
|
## https://docspell.org/docs/configure/#jvm-options
|
|
# command:
|
|
# - -J-Xmx3G
|
|
ports:
|
|
- "7878:7878"
|
|
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={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD }}"
|
|
- "DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://db:5432/dbname"
|
|
- "DOCSPELL_JOEX_JDBC_USER={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_USER }}"
|
|
- "DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial"
|
|
- "DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprint"
|
|
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
|
|
command:
|
|
- dsc
|
|
- "-d"
|
|
- "http://docspell-restserver:7880"
|
|
- "watch"
|
|
- "--delete"
|
|
- "-ir"
|
|
- "--not-matches"
|
|
- "**/.*"
|
|
- "--header"
|
|
- "Docspell-Integration:{{ vault_DOCSPELL_INTEGRATION_PASSWORD }}"
|
|
- "/opt/docs"
|
|
volumes:
|
|
- "/home/josiah/apps/docspell/docs:/opt/docs"
|
|
depends_on:
|
|
- restserver
|
|
|
|
db:
|
|
image: postgres:15.2
|
|
volumes:
|
|
- docspell-postgres_data:/var/lib/postgresql/data/
|
|
environment:
|
|
- "POSTGRES_USER={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_USER }}"
|
|
- "POSTGRES_PASSWORD={{ vault_DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD }}"
|
|
- "POSTGRES_DB=dbname"
|
|
|
|
solr:
|
|
image: solr:9
|
|
volumes:
|
|
- docspell-solr_data:/var/solr
|
|
command:
|
|
- bash
|
|
- -c
|
|
- 'precreate-core docspell; exec solr -f -Dsolr.modules=analysis-extras'
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8983/solr/docspell/admin/ping"]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 2
|
|
start_period: 30s
|