🚀 Meilisearch on Cloudron: Community Package now available
-
Meilisearch: community package now available
TL;DR: Meilisearch is an open source, typo-tolerant search engine written in Rust. It indexes your documents and serves fast full-text, filtered and sorted search over a plain REST API. Now packaged for Cloudron, built and tested on Cloudron 9.2, unofficial and community maintained.
Links
- Project homepage: https://www.meilisearch.com
- Upstream repository: https://github.com/meilisearch/meilisearch
- Cloudron package repository: https://github.com/OrcVole/meilisearch-cloudron
This is a headless service. There is no web interface to log into: everything is the REST API, and that is deliberate, because the applications that consume it are the users.
How to install
The easy route is the dashboard. In the App Store, open the Add custom app dropdown at the top right, choose Community app, and paste this URL:
https://raw.githubusercontent.com/OrcVole/meilisearch-cloudron/main/CloudronVersions.jsonApps installed this way receive automatic updates.
After installing, read your master key from the app's Terminal (the
>_button):cat /app/data/master-keyEvery route except
GET /healthneeds that key, or a scoped key minted from it viaPOST /keys. Mint one key per consumer rather than sharing the master key.What you get
Meilisearch 1.51.0, pinned by digest, running in production mode. Vector and hybrid search are included and stable in this release, and the embedder can point at a local Ollama instance or any REST embedding service, so you do not need a cloud API key.
Two details specific to this package that other packagers may find useful.
The store lives on a
persistentDirspath, outside the backup file walk, and abackupCommandasks the running server for a snapshot over HTTP and leaves it in/app/data. This matters because a search engine rewrites its files constantly, and a churning store inside the walked tree can abort the whole server's backup run. The design was tested by taking a backup while a million document index was in flight.The default memory limit is 4 GB. That is measured, not guessed: a deliberately pessimistic million document corpus peaked at 1.82 GB of anonymous memory, about 46 per cent of the limit. Indexing, not searching, is the hungry phase, and Meilisearch batches document additions aggressively.
Wiring it to other applications
Linkwarden gains full text search it cannot otherwise have on Cloudron: point it at this instance and it back-fills and searches happily.
Worth knowing before you wire LibreChat: the Cloudron LibreChat package already ships and supervises its own private Meilisearch, so chat search there is not broken for want of an instance. Pointing it here is a redirection onto a shared, backed-up, separately sized instance, which is useful, but it is not an enablement.
One trap that applies to any consumer: they mark documents as already indexed. Point an established consumer at a fresh instance and it will index nothing while search quietly returns empty. The package README documents the reset for both applications.
What is not proven
A cross-version database migration has not been exercised, because no newer upstream release existed during packaging. Meilisearch refuses to open a store written by a different version and the package runs
--upgrade-dbon the way through, but that path has not yet met a real version change. I will report back when it has.Feedback and bug reports welcome, here or on the repository.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login