Practical overview
When it fits
Use Meme Search when you want a self-hosted index for a meme collection and prefer local image processing and search, with an optional external service for description generation.
Who it is for
- People who want to search a self-managed meme collection by visual content or text.
- Operators comfortable running a local application with Docker Compose.
Documented uses
- Add images to a local meme library through the web upload page.
- Create searchable image descriptions and vector embeddings.
- Retrieve memes using semantic or keyword queries.
- Use an optional compatible vision API for description generation while keeping embeddings and search local.
Requirements & limits
Docker Compose is the recommended deployment route and requires Docker and Docker Compose. The web UI is unauthenticated and binds to 127.0.0.1 by default; direct public exposure is unsupported.
- The default image-description, embedding and search pipeline runs locally; the first local generation downloads the selected model.
- Florence-2-base is the default image-to-text model, and the README lists other model options of different sizes.
- The optional OpenAI-compatible vision API is for description generation; embeddings and search remain local.
- Local development requires Ruby 3.4.2, Rails 8.0.4, Python 3.12, Node.js 20 LTS, and PostgreSQL 17 with pgvector.
- The web UI has no user authentication. API bearer tokens protect versioned integration endpoints, not the UI or settings.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start Meme Search with Docker Compose
Launch the local web app and reach its upload page.
Before you start
- Docker
- Docker Compose
Steps
Clone the meme-search/meme-search repository and enter the repository directory.
Run docker compose up.
Open http://localhost:3000 in a browser.
Expected outcome
The web app is available locally, with an upload page for adding images.
Guide limitations
- The first local description generation downloads the selected model and takes longer than later generations.
- The web UI binds to 127.0.0.1 by default and has no user authentication; direct public exposure is unsupported.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- meme-search/meme-search · Official homepage title · retained in its source language

