Meme Search v2.3.1: more reliable fresh Docker startup
This patch fixes a transient startup race that can affect a brand-new Docker
Compose installation. The web and jobs containers both prepare the database at
startup; when they attempt to enable pgvector at the same time, one process can
briefly fail even though the database finishes preparing successfully.
The Rails server and job-worker entrypoints now retry db:prepare up to five
times with a two-second delay. A transient conflict can recover automatically,
while a persistent migration or database failure still prevents the process
from starting and remains visible in the container logs.
Upgrade
Back up your database, then pull and recreate the containers:
docker compose pull
docker compose up -d
docker compose exec meme_search bin/rails db:migrate:statusNo new database migration or Search API contract change is included in this
patch. Existing v2.3.0 API tokens, clients, and indexed libraries remain
compatible.
Search API security boundary
Search API v1 remains permanently read-only and officially supported only on
loopback. Its bearer tokens do not authenticate the web UI or settings. Do not
expose Meme Search directly to a public network.