meme-search
A self-hosted meme search engine that uses AI to index and find memes by content and text. All processing runs locally for privacy.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
Self-hosted meme search with local AI indexing, semantic search, and a full web UI.
Core Features
- Local AI processing – all image-to-text and vector embedding runs on your machine
- Multiple model choices – Florence, SmolVLM, Moondream (including INT8 quantized)
- Auto & manual description generation, with editing support
- Custom tags, directory paths, and filtering by tags/descriptions
- Fast vector search powered by PostgreSQL + pgvector, plus keyword search
What It Can't Do
- •First-time model download may take a few minutes depending on model size and internet speed,Linux users may need to add 'extra_hosts' to docker-compose for inter-container communication,Default port is 3000; change port mapping in docker-compose.yml if already in use,Moondream2 requires ~5GB RAM; use INT8 version (~1.5-2GB) on low-memory machines
Use Cases
- Organize and retrieve memes from a large personal collection
- Collaborative meme library for teams with tag-based filtering
- Quickly find visual references when creating new memes
Detailed Introduction
Meme Search is an open-source, self-hosted web application that lets you index, search, and manage your meme collection using AI. It extracts text and descriptions from images using local vision-language models (Florence, SmolVLM, Moondream), creates vector embeddings, and enables semantic search. Features include automatic description generation, manual editing, tags, dark mode, bulk upload, directory scanning, and drag-and-drop uploads. Built with Ruby on Rails, Python, and PostgreSQL (pgvector). Runs via Docker for easy deployment.
Troubleshooting & FAQ (2)
feature availabilityHow can I paste images directly from the clipboard in meme-search without saving them first?
Starting from v2.2.0, meme-search supports clipboard paste uploads. Simply copy an image to your clipboard (e.g., right-click → Copy image in a browser, or use screenshot tools that copy to clipboard) and paste it directly into the app using Ctrl+V (Windows/Linux) or Cmd+V (Mac). The pasted image will be queued, uploaded, and then appear in your All memes collection under the direct-uploads path.
TroubleshootingHow to fix missing directory errors when running Docker compose for meme_search_pro?
The provided compose file expects the host directories to exist before mounting. Create the missing directories manually using mkdir -p ./meme_search_pro/db_data/image_to_text_generator ./meme_search_pro/models. Then run docker-compose up.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
1. Install Docker and Docker Compose
2. Clone the repo: git clone https://github.com/jermwatt/meme-search && cd meme-search
3. Run docker compose up to start all services
- 1. Install Docker and Docker Compose
- 2. Clone the repo: git clone https://github.com/jermwatt/meme-search && cd meme-search
- 3. Run docker compose up to start all services
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Stop containers with docker compose down, delete project folder and prune Docker volumes (docker volume prune) to remove all data.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
2 FAQs
Similar Projects
Chatbox
Chatbox Community Edition is an open-source desktop client for interacting with multiple large language models. It supports OpenAI (ChatGPT), Azure OpenAI, Claude, Google Gemini Pro, Ollama (local models like Llama 2, Mistral), and ChatGLM-6B. All your chat data is stored locally on your device, ensuring privacy and preventing data loss. The app features a clean, ergonomic UI with dark mode, keyboard shortcuts, streaming replies, and full Markdown/LaTeX rendering with code highlighting. It also includes a prompt library, message quoting, and team collaboration for sharing API resources. Available on Windows, macOS, Linux, Web, iOS, and Android. The community edition is fully functional but may lack some advanced features from the pro version.
ollama
Ollama lets you download, run, and manage large language models locally. One command, multiple platforms, endless possibilities.
llama.cpp
High-performance LLM inference engine in C/C++ with minimal dependencies, supporting quantized models (1.5–8 bit) and diverse hardware (Apple Silicon, CUDA, Vulkan, etc.).