Deploy Meilisearch + UI

Deploy and Host Meilisearch + UI with Railway

Deploy Meilisearch + UI

Meilisearch

getmeili/meilisearch:latest

Just deployed

/meili_data

Meilisearch UI

riccoxie/meilisearch-ui:lite

Just deployed

Deploy and Host

  1. Click Deploy on Railway (or import this repo/template).
  2. Two services spin up: meilisearch (port 333) and meilisearch-ui.
  3. Add env vars (see “### Deployment Dependencies”).
  4. Attach a volume to meilisearch for persistence (/data or your chosen path).
  5. Wait for builds → visit the meilisearch-ui URL to manage your instance.
  6. (Optional) Add custom domains/SSL for public access.

About Hosting

This template hosts a Meilisearch search engine and a Meilisearch UI dashboard on Railway. Both run in separate containers; Meilisearch exposes port 333, and the UI connects to it over HTTP. Docs:

Why Deploy

  • Get a fast, typo‑tolerant search backend without heavy infra.
  • Manage indexes, documents, and keys visually via the bundled UI.
  • Keep infra simple: one Railway project, shared networking, managed volumes.

Common Use Cases

  • Blog or docs full‑text search & autocomplete.
  • Product catalog search with filters/typo tolerance.
  • SaaS dashboards needing fuzzy search over JSON data.
  • Internal data exploration tools.

Dependencies for

Services this template creates:

1. meilisearch (port 333)

  • Needs a persistent volume.
  • Critical env var: MEILI_MASTER_KEY.
  • Optional tuning vars: MEILI_ENV, etc.

2. meilisearch-ui

  • Image: riccoxie/meilisearch-ui.

  • Works best in singleton mode with env vars:

    • SINGLETON_MODE=true
    • SINGLETON_HOST=https://
    • SINGLETON_API_KEY=
  • Optional: BASE_PATH if served under a subpath.

Deployment Dependencies

Set before/just after deploy:

meilisearch

  • MEILI_MASTER_KEY (required).
  • Volume mount (e.g., /meili_data → Railway volume).
  • Confirm service port 333.

meilisearch-ui

  • SINGLETON_MODE=true
  • SINGLETON_HOST = full Meilisearch URL (public or internal).
  • SINGLETON_API_KEY = key with needed permissions.
  • Optional: BASE_PATH, PORT if your image expects it.

Railway project

  • Ensure services can reach each other (same project/network or public URL).
  • Configure CORS on Meilisearch if accessing from a different domain.

Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh