---
title: "Deploy Meilisearch + UI"
description: "Deploy and Host Meilisearch + UI with Railway"
category: "Other"
url: https://railway.com/deploy/meilisearch-ui
---

# Deploy Meilisearch + UI

Deploy and Host Meilisearch + UI with Railway

**[Deploy Meilisearch + UI on Railway](https://railway.com/template/meilisearch-ui)**

- **Creator:** Bruno Miguens's Projects
- **Category:** Other
- **Total deploys:** 27

## Template content

### Meilisearch

- **Image:** getmeili/meilisearch:latest
- **Public domain:** Yes

### Meilisearch UI

- **Image:** riccoxie/meilisearch-ui:lite
- **Public domain:** Yes

## Documentation

# 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:

* Meilisearch → [https://github.com/meilisearch/meilisearch](https://github.com/meilisearch/meilisearch)
* Meilisearch UI → [https://github.com/riccox/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 &amp; 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.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/meilisearch-ui
