Sign inSign up

mecoloratul/recoll-webui

By mecoloratul

•Updated 5 months ago

Image
0

905

mecoloratul/recoll-webui repository overview

⁠recoll-webui

Docker setup for running Recoll WebUI as a standalone HTTP service.

This image indexes files from /docs, stores Recoll configuration and the Xapian database in /config/recoll, and serves Recoll WebUI on port 8080.

⁠Run with Compose

  1. Add documents to index under ./doc.

  2. Start the container:

    docker-compose up -d --build
    
  3. Open the WebUI:

    http://localhost:8080/
    

From another machine, replace localhost with the server IP address.

⁠Volumes

  • ./doc is mounted at /docs and is indexed by Recoll.
  • ./recoll-config is mounted at /config/recoll and stores recoll.conf plus the xapiandb index.

The entrypoint also creates /doc as a compatibility symlink to /docs for stale configs from older image revisions.

⁠Indexing

On startup, the entrypoint:

  • creates /config/recoll/recoll.conf if missing
  • repairs stale topdirs values to topdirs = /docs
  • runs recollindex -c /config/recoll when the index is missing or the config was repaired

After startup, a background loop runs recollindex -c /config/recoll every six hours. Override the interval with RECOLLINDEX_INTERVAL in seconds. For example, this runs every hour:

environment:
  RECOLLINDEX_INTERVAL: "3600"

You can still reindex manually after adding or changing files in ./doc:

docker-compose exec web recollindex -c /config/recoll

To force a full rebuild, remove the index and restart:

sudo rm -rf recoll-config/xapiandb
docker-compose restart web

⁠Result behavior

This image patches the upstream Recoll WebUI package at build time to improve browser behavior:

  • result titles open the custom PDF.js viewer in a new tab
  • the preview has Previous/Next buttons for highlighted matches
  • keyboard shortcuts in preview: n or ArrowDown for next, p or ArrowUp for previous
  • OpenPDF is the default open action and opens a custom PDF.js viewer in a new tab instead of the browser's built-in PDF viewer
  • the PDF.js view applies the current search text, highlights all matches, and adds Previous/Next controls with the same keyboard shortcuts
  • Download saves the original file through Recoll WebUI's download endpoint
  • the PDF.js viewer fetches PDFs through the same download endpoint while the visible Download action remains a real file download

Browser PDF viewers do not reliably honor #search=... fragments, so the image now ships a custom PDF.js route for dependable in-document PDF navigation.

⁠Notes

  • The image installs recoll, recollcmd, python3-recoll, document filters, aspell, and the published recollwebui==0.1.2 package.
  • The old Apache/mod_wsgi setup is no longer used; this runs the standalone Waitress/Bottle server.

Tag summary

Content type

Image

Digest

sha256:07884d65f…

Size

207.3 MB

Last updated

5 months ago

docker pull mecoloratul/recoll-webui