
Deploy Meilisearch + UI
Deploy and Host Meilisearch + UI with Railway
Meilisearch
getmeili/meilisearch:latest
Just deployed
/meili_data
Meilisearch UI
riccoxie/meilisearch-ui:lite
Just deployed
Deploy and Host
- Click Deploy on Railway (or import this repo/template).
- Two services spin up:
meilisearch
(port 333) andmeilisearch-ui
. - Add env vars (see “### Deployment Dependencies”).
- Attach a volume to
meilisearch
for persistence (/data
or your chosen path). - Wait for builds → visit the
meilisearch-ui
URL to manage your instance. - (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:
- Meilisearch → https://github.com/meilisearch/meilisearch
- Meilisearch UI → https://github.com/riccox/meilisearch-ui
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
Meilisearch
getmeili/meilisearch:latestMeilisearch UI
riccoxie/meilisearch-ui:lite