• 2 posts
  • 18 comments
Joined 4 months ago
Cake day: May 4th, 2026
  • How do i use environment variables to make a indexer? I couldn’t get it to work

    Repeatable config options are not supported from env vars. In this case you have to mount a config file to your container. But, if you want to track local files from docker, you have to mount those files/directories anyway. I suggest to use the standalone binary release if you’d like to track local files, it is way more convenient.

  • can i connect it to other services like paperless, or would i need to manually import files?

    Hister supports importing data from a few services, but paperless isn’t supported yet. More details: https://hister.org/docs/import

    Is it better to run it in docker or e.g. a LXC in proxmox? If i want to index files, it seems it needs the config.yml file

    Docker is perfectly fine. Every settings option from the config file can specified using environment variables. The syntax is HISTER__[SECTION]__[OPTION]=[VALUE].

    After just playing with it for a day, the disk usage is 150 MB

    Probably most of the disk space is occupied by the Hister binary which contains all the N-grams required to identify ~30 languages. The index should be much smaller.

    I figure I should use postgres instead of sqlite.

    SQLite is more than enough for personal use, but if you prefer to use postgres, just specify the standard DSN formatted connection data to the server.database config option: https://hister.org/docs/configuration#database-backends

    how to set that up, preferably with docker

    Use the HISTER__SERVER__DATABASE="host=localhost user=hister password=hister dbname=hister port=5432" environment variable.

    I am not familiar with pgvector

    Hister automatically creates the database model and handles the migrations if required.

  • Currently it is not planned. Hister guarantees that non of your data/query/metadata leaves the service if you use it. As I see, this is a more valuable and unique feature than having an integrated metasearch. There are already great metasearch solutions and Hister provides an easy fallback to search providers, so in my opinion this direction would be more of a sacrifice than an improvement.

  • However, dismissing it as “a multiple screens long AI prompt” does not only not answer the question, it comes off as abrasive.

    I think it is more abrasive to copy/paste a poorly formatted LLM output instead of taking the time and summarizing it to a few sentences just as you did in your previous post.

  • Is there a TTL / max database size per user setting?

    As I wrote, you can simply automate deletion by document age. Schedule a delete event on each day with the desired retention time defined as a filter expression. Database size limit isn’t available yet.

    Additionally, is the other parenthetical information materially correct? If not, which points [1 thru to 7] are wrong?

    No, sorry, I don’t have time to correct a copy of a multiple screens long AI prompt.

    I would like to further recommend Hister but your documentation is somewhat confusing at first blush.

    Which parts are confusing?

  • The summary has numerous inaccuracies. Most importantly: it is pretty easy to delete content by topic or age. The hister delete command can accept a search query to remove only matched documents. The same is true on the web UI “actions -> remove all matching documents”. You can quickly filter by age, simply query updated:>365d. Combine it with URLs, labels, domains or phrases.

  • it’s a habit changer.

    It took some time to get used to it, but I find it more efficient, to spawn a Hister with a single hotkey and use the URL bar with a traditional search engine when I know that I’m looking for something new. But, of course this is subjective, everbody has their preferred workflows, I shared mine as an inspiration.

    Btw, you can start your query with !!, in this case Hister automatically redirects you to your external search engine with the rest of the search query.

  • It isn’t possible to setup hister as my default search engine in browser with automated fallback to normal Meta-search with whatever engine?

    It can be added as a default search engine and it provides a link and a hotkey to open the search query with an external search engine, however I have a different workflow: https://hister.org/posts/how-i-use-hister

    And I use login credentials maybe a faster way like passkey possible in the future?

    That’s a good idea, thanks for the suggestion.

  • Though maybe the resource folder can be ignored and the html file can already be imported?

    It depends. Hister always requires a unique URL for each document. SingleFile snapshots include the original URL of the document as a meta HTML element. I’m not sure if the built-in page saver provides URL information.

  • The storage requirement is around 100KB/page on average.

    Memory usage can exceed 1GB momentarily for searches when using language detection and multi-language indexes (it is the default config). Without language detection Hister has a much smaller memory footprint (~30MB default with ~100-150MB peaks).

  • Oh damn this could replace the bookmakers.

    The inspiration for Hister was a bookmarking app, but I realized that I always forget to manually trigger the bookmarking and I miss so many great resources.

    Would it be possible to attach an HTML file from like single file

    Currently you can import SingleFile HTMLs using the hister import file command, but no further integrations are implemented yet. Although, rendering the exact SinglePage file as a preview can be added relatively quickly. It would be also nice to accept files directly from the SingleFile extension.

    Thanks for the good suggestion, I’ve added it to my TODO! =]

Hi everyone,

I am the original author of Searx. I started Hister with a similar motivation: reducing our dependence on external search engines while keeping searches and personal data under our control.

Searx is a metasearch engine that forwards queries to other search providers. Hister takes a different approach. It builds a private full text index from content you choose, then searches that index entirely on your own infrastructure.

Hister can automatically index pages through its Firefox and Chrome extensions. It can also watch local directories, import browser history and bookmarks, index individual URLs, and crawl complete documentation sites.

The feature I find most useful is offline previews. Hister stores the readable content and HTML of indexed pages locally. You can open a result in a clean and sanitized preview beside the search results without visiting the original website again.

Some other features:

  1. Full text search across web pages, PDFs, docx files, Markdown, OrgMode and text files
  2. Phrase searches, field filters, date filters, wildcards, negation, aliases, labels, facets, and result priorities
  3. Optional semantic search using an embeddings endpoint you configure
  4. Persistent website crawls
  5. Imports from browser history, Linkwarden, Karakeep, Shaarli, Wallabag, and Linkding
  6. Web, terminal, command line, HTTP API, and MCP interfaces
  7. SQLite and PostgreSQL support, plus optional multiple user hosting

Hister cannot replace a global search engine (yet) for subjects you have never encountered because it only searches what you have indexed. My workflow is to search Hister first, then use its shortcut to fall back to traditional search when I need broader web results.

The project is free software under the AGPLv3+ license. It can be installed as a standalone binary or with Docker.

Project: https://github.com/asciimoo/hister

Website and documentation: https://hister.org/

Small read-only demo: https://demo.hister.org/

I’d appreciate feedback, questions, and suggestions as well as joining our growing community.

AI disclosure: AI assisted contributions are not strictly prohibited, but all contributions should be made by humans. More details: https://github.com/asciimoo/hister/blob/master/CONTRIBUTING.md#ai-policy

I’m working on a self-hosted search service called Hister with the goal to reduce my dependence on online search engines.

Hister is a full text indexer for websites which saves all the visited pages rendered by your browser. It provides a flexible web (and terminal) search interface & query language to explore previously visited content with ease or quickly fall back to traditional search engines.

I’ve been using it for a few months and as my local index is growing I can avoid opening google/duckduckgo/kagi more and more frequently.

The project is still heavily under development with a growing community, but the current version is in a fairly usable state in my opinion, so I wanted to share it here - perhaps some of you find it useful as well. (Or at least have some constructive criticism =])

The code is AGPLv3 licensed, available at https://github.com/asciimoo/hister website: https://hister.org/ read-only demo: https://demo.hister.org/

About me: I develop privacy protecting and data liberating free software since 2008. I’m the author of Searx, Colly (https://github.com/gocolly/colly) and many more smaller free software/self-hosted projects (https://github.com/asciimoo).