Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http status client error in docspell-consumedir #2968

Open
marev3 opened this issue Feb 15, 2025 · 1 comment
Open

http status client error in docspell-consumedir #2968

marev3 opened this issue Feb 15, 2025 · 1 comment

Comments

@marev3
Copy link

marev3 commented Feb 15, 2025

I'm trying to run docspell on my Synology NAS via Container Manager by using the provided docker-compose.yml

All created container seem to work but when I copy a folder with .pdf files to the docspell-consumedir I get this error:

Watch - Uploading failed: An http error occurred: An error was received from http://docspell-restserver:7880/api/v1/open/integration/checkfile/Arbeitsverträge/458cc8cd735072694d3d6db959343ef0a5b194c39a55d8c34dab251b1b3b51b0: HTTP status client error (404 Not Found) for url (http://docspell-restserver:7880/api/v1/open/integration/checkfile/Arbeitsvertr%C3%A4ge/458cc8cd735072694d3d6db959343ef0a5b194c39a55d8c34dab251b1b3b51b0)

My docker-compose.yml:

name: docspell
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: ghcr.io/docspell/restserver:latest
    hostname: docspell-restserver
    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: 'admin789'
      DOCSPELL_SERVER_AUTH_SERVER__SECRET: 'admin789'
      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: 'admin789'
      DOCSPELL_SERVER_BACKEND_SIGNUP_MODE: 'open'
      DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD: ''
      DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED: 'false'

  joex:
    image: ghcr.io/docspell/joex:latest
    hostname: docspell-joex
    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'
      DOCSPELL_JOEX_CONVERT_HTML__CONVERTER: 'weasyprint'
    ports:
      - "7878:7878"
    ## 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:'admin789'"
      - "/opt/docs"
    restart: unless-stopped
    volumes:
      - ./docs:/opt/docs

  db:
    image: postgres:17.3
    container_name: postgres_db
    restart: unless-stopped
    volumes:
      - 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:
      - 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

volumes:
  postgres_data:
  solr_data:

How can I solve this error?

And how is this meant, each with its own secret password or all the same?:

# 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!)

And an extra question: How would I define a document folder outside of the docspell home folder to use my existing folder structure?

@eikek
Copy link
Owner

eikek commented Feb 19, 2025

Did you create a sub directory with the name of your collective in the consume dir folder?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants