Skip to main content

Web interface for recoll desktop search

Project description

This ( is an updated clone of Koniu’s original version on GitHub (, which has not been updated lately, and is now slightly obsolete.

As compared to the original, this version has an additional dependancy when running the server (i.e. not with apache): it uses the python3-waitress module which must be installed. This makes webui-standalone quite suitable for moderate multiaccess loads with no authentication needs.

An updated version of the original doc follows.

Recoll WebUI is a Python-based web interface for the Recoll text search tool for Unix/Linux.


All you need to use the WebUI is:

  • Python 3.

  • The Python waitress package. You can remove this dependance and run with the internal bottle server by editing

  • Recoll 1.20+ and the Recoll Python3 extension (e.g. the python3-recoll package on Debian-derived systems).

  • A WEB browser

Installation and Usage on MS-Windows

We have a separate Web page for this.

Installation and Usage on Linux

Recoll WebUI can be used as a standalone application or through a web server via WSGI/CGI. Regardless of the mode of operation you need Recoll to be configured on your system as the WebUI only provides a front-end for searching and does not handle index configuration etc.

Run standalone

Run and connect to http://localhost:8080.

There’s some optional command-line arguments available:

-h, --help            show this help message and exit
-a ADDR, --addr ADDR  address to bind to []
-p PORT, --port PORT  port to listen on [8080]
-c CONFDIR, --config CONFDIR Recoll configuration directory to use

The standalone application can be configured to run automatically using systemd. See the file README-systemd.rst.

Environment variables:

  • RECOLL_CONFDIR the recoll configuration directory. This is overriden by a -c option.

  • RECOLL_EXTRACONFDIRS a space-separated list of external indexes to query in addition to the main one.


See the following link for a complete run-through:

Example WSGI/Apache2 config, assuming that the code is in /var/recoll-webui-master:

WSGIDaemonProcess recoll user=recoll group=recoll threads=5 display-name=%{GROUP} python-path=/var/recoll-webui-master
WSGIScriptAlias /recoll /var/recoll-webui-master/
<Directory /var/recoll-webui-master>
        WSGIProcessGroup recoll
        Order allow,deny
        allow from all


  • Without “python-path=” you might see errors that it can’t import webui

  • Run the WSGIDaemonProcess run under the username (user=xyz) of the user that you want to have exposed via web.

User configuration defaults

New on 2022-06-15.

There are a number of parameters with initial defaults which the user can change through a Web interface page (by clicking the Settings button), and which are persisted in a cookie.

Some of the initial defaults may not be appropriate for your configuration. For example the default depth of 2 for building the directory selection tree may be too much on a big data set (and cause initialisation errors).

The initial defaults can be changed by setting values in the main recoll configuration file ($RECOLL_CONFDIR/recoll.conf):

  • webui_context (30) the size of the abstract snippets in words.

  • webui_maxchars (500) total maximum size for the abstract shown with each result.

  • webui_stem (1) queries will use stemming (or not).

  • webui_timefmt (“%c”) format of the time display.

  • webui_dirdepth (2) depth of the directory selection tree. Beware if your data set has many directories.

  • webui_maxresults (0) limit the number of results (0 means no limit).

  • webui_perpage (25) number of results per page.

  • webui_csvfields (“filename title author size time mtype url”) fields extracted in CSV or JSON dumps.

  • webui_title_link (“download”) action performed if you click the result title (or ‘open’, ‘preview’).

The following are not changeable from the user interface:

  • webui_nojsoncsv (0) If set, disable downloading results as JSON or CSV.

  • webui_maxperpage (0) If set to non-zero, limits the maximum value of results per page settable through the UI.

  • webui_nosettings (0) do not show settings options to users.

  • webui_defaultsort (“Relevancy”) default sort field.

Running the indexer

Example user Crontab entry to have the indexer at least once a day:

22 5    * * *   /usr/bin/recollindex


Can’t open files when Recoll WebUI is running on a server

By default links to files in the result list correspond to the file’s physical location on the server. If you have access to the file tree via a local mountpoint or eg. ftp/http you can provide replacement URLs in the WebUI settings. If in doubt, ask your network administrator.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recollwebui-0.1.2.tar.gz (104.4 kB view hashes)

Uploaded Source

Built Distribution

recollwebui-0.1.2-py3-none-any.whl (105.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page