OpenSource-Hub
M

meme-search

661 stars·AI Productivity·SHA-256 checksum verified

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 availability
How 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.

GitHub Issue #150
Troubleshooting
How 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.

GitHub Issue #75

Tags

memesearch-engineself-hostedaidockerimage-to-textvector-search

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

1. Install Docker and Docker Compose

4

2. Clone the repo: git clone https://github.com/jermwatt/meme-search && cd meme-search

5

3. Run docker compose up to start all services

Install Guide
  1. 1. Install Docker and Docker Compose
  2. 2. Clone the repo: git clone https://github.com/jermwatt/meme-search && cd meme-search
  3. 3. Run docker compose up to start all services
File Integrity

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 Source
Environment Guide

Uninstall 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.

Project Info
LicenseMIT
Last Updated2026-06-27 07:05:04
GitHub Repository

Having issues? Check the FAQ below

2 FAQs

Similar Projects