meme-search
An open-source meme search engine designed for self-hosting using Python, Ruby and Docker.
GraphCanon updated today · GitHub synced today
Decision brief
meme-search is an open-source meme search engine for self-hosting that uses Python, Ruby and Docker with semantic searching capabilities via machine learning algorithms.
Good fit when
- You require a specialized tool designed to specifically locate memes in your collection or the web using a self-hosted solution.
- Your project involves homelab setups where integrating AI functionalities like semantic search is beneficial for meme retrieval.
Avoid when
- The need arises for a ready-to-use cloud-based service without managing local hosting configurations, as meme-search requires setting up locally using Docker.
- If the focus is on general-purpose data retrieval or vector database management that does not involve memes or specific self-hosted setups.
Observed Jul 14, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Active (16d since push)
- As of today
- Provenance
- Not a fork · Personal account
- As of today
- Security (OSV)
- No lockfile
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
gem install meme-search RubyGemsSimilar tools
Same-category neighbours. No typed graph edges are catalogued for this tool yet.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
The repository hosts the codebase for a meme search engine that can be self-hosted locally with support from Python, Ruby, and Docker. It employs machine learning techniques for semantic searching.
Capability facts
- Deploy
- Self-host
Source: dockerfile:docker-compose.yml · Aug 22, 2026
- Docker
- Dockerfile present
Source: dockerfile:docker-compose.yml · Aug 22, 2026
- MCP server
- No MCP server detected
Source: repo_scan · Aug 22, 2026
- Languages
- ruby, javascript, typescript
Source: github.language+package.json · Aug 22, 2026
Categories
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Aug 22, 2026)
# A Meme Search Engine built to self-host in Python, Ruby, and DockerSource link
Tags
README
A Meme Search Engine built to self-host in Python, Ruby, and Docker
Use AI to index your memes by their content and text, making them easily retrievable for your meme warfare pleasures.
By default, processing from image-to-text extraction, to vector embedding, to search is performed locally. You can also use an OpenAI-compatible vision API for description generation while keeping embeddings and search local.
Visit the Meme Search project site for a visual feature overview, or continue below for installation and configuration details.
Search beyond the web app. Meme Search now includes a documented, token-authenticated Search API v1, a dependency-free local CLI, and an experimental unpacked Chromium popup. The API is read-only and officially supported on loopback; it also gives community integrations a stable boundary that does not expose your database.
Watch the 16-second app-and-CLI demo.
This repository contains the services and web app for indexing, searching, and retrieving your memes with semantic and keyword search.
Quick start
git clone https://github.com/neonwatty/meme-search.git
cd meme-search
docker compose up
Open http://localhost:3000, then drag, drop, or paste images on the upload page. The first local description generation downloads the selected model, so it takes longer than later generations.
The web UI binds to 127.0.0.1 by default because it does not include user
authentication. Official support is loopback-only for API v1 and the included
clients. API bearer tokens protect only the versioned integration
endpoints; they do not protect the web UI or settings. Direct public exposure
is unsupported. Proxy/VPN operation is advanced and unsupported; its
authentication, TLS, and network controls are entirely the operator's
responsibility.
A table of contents for the remainder of this README:
-
Meme search
- Features
- Requirements
- Installation instructions
- Time to first generation / downloading models
- Index your memes
- Search API and local integrations
- Custom bind address and app port
- Building the app locally with Docker
- Running tests
-
Discord server
-
Changelog
-
Feature requests and contributing
Requirements
For Docker deployment (recommended):
- Docker and Docker Compose
For local development:
- Ruby 3.4.2
- Rails 8.0.4
- Python 3.12
- Node.js 20 LTS
- PostgreSQL 17 with pgvector extension
We recommend using mise for managing Ruby, Python, and Node.js versions. See CLAUDE.md for detailed setup instructions.
Installation instructions
From the repository root, start the server cluster with Docker Compose:
docker compose up
This pulls and starts containers for the app, database, Solid Queue job worker, and local auto description generator. The app runs on port 3000 and is available locally at:
http://localhost:3000
The Compose files store app data in local bind-mounted directories so upgrades keep using the same files:
./meme_search/db_data/meme-search-dbfor Postgres data./meme_search/direct-uploadsfor drag-and-drop uploads./meme_search/db_data/image_to_text_generatorfor generator queue data./meme_search/modelsfor model
For agents
This page has a .md twin and JSON over the API.