---
title: "Deploy Manticore Search"
description: "Manticore Search 29.9 full-text and vector search with built-in auth."
category: "Other"
url: https://railway.com/deploy/manticore-1
---

# Deploy Manticore Search

Manticore Search 29.9 full-text and vector search with built-in auth.

**[Deploy Manticore Search on Railway](https://railway.com/template/manticore-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/manticore-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Other

## Template content

### manticore https://github.com/manticoresoftware.png

- **Image:** manticoresearch/manticore:29.9.0
- **Start command:** `bash -c 'docker-entrypoint.sh searchd -c /etc/manticoresearch/manticore.conf.sh --nodetach & pid=$!; trap "kill -TERM $pid" TERM INT; for i in $(seq 90); do [ -s /run/manticore/searchd.pid ] && break; sleep 1; done; sleep 2; if ! grep -qs "$MANTICORE_ADMIN_USER" /var/lib/manticore/auth.json; then printf "%s\n%s\n%s\n" "$MANTICORE_ADMIN_USER" "$MANTICORE_ADMIN_PASSWORD" "$MANTICORE_ADMIN_PASSWORD" | gosu manticore searchd -c /etc/manticoresearch/manticore.conf.sh --auth-non-interactive && echo "created admin user $MANTICORE_ADMIN_USER"; fi; wait $pid'`
- **Public domain:** Yes

## Documentation

# Deploy and Host Manticore Search on Railway

Manticore Search is a fast open-source search database for full-text, vector and hybrid search. It speaks SQL over the MySQL protocol and a JSON HTTP API with an Elasticsearch-compatible layer, supports real-time tables, faceting, fuzzy search and auto-embeddings, and is a lighter alternative to Elasticsearch and OpenSearch.

## About Hosting Manticore Search

This template deploys Manticore Search 29.9.0 with its data on a Railway volume and the built-in authentication enabled. On first start, the service creates an administrator from the generated password, and every HTTP or SQL request then needs HTTP basic auth or a bearer token. The HTTP JSON API is on the public HTTPS domain. The MySQL protocol stays on the private network, because it sends passwords without TLS. There is no unauthenticated health endpoint, so Railway relies on the restart policy. The Hobby plan fits small and medium indexes.

## Common Use Cases

- Site and product search with full-text relevance, facets and filters
- Vector and hybrid search for RAG and recommendations
- A lighter Elasticsearch replacement for log or document search

## Dependencies for Manticore Search Hosting

- `manticoresearch/manticore:29.9.0` (official image)
- A Railway volume at `/var/lib/manticore`

### Deployment Dependencies

- [Manticore Search manual](https://manual.manticoresearch.com/)
- [Manticore 29.9.0 release](https://github.com/manticoresoftware/manticoresearch/releases/tag/release-29.9.0)
- [Authentication and authorization](https://manual.manticoresearch.com/Security/Authentication_and_authorization)
- [Railway volumes](https://docs.railway.com/reference/volumes)

### Implementation Details

| Service | Image | Networking | Storage |
| --- | --- | --- | --- |
| manticore | `manticoresearch/manticore:29.9.0` | public HTTP on 9308; private MySQL 9306 | volume at `/var/lib/manticore` |

```bash
curl -u "admin:$MANTICORE_ADMIN_PASSWORD" "$MANTICORE_URL/sql?mode=raw" -d "query=CREATE TABLE products(title text, price float)"
curl -u "admin:$MANTICORE_ADMIN_PASSWORD" "$MANTICORE_URL/insert" -H "Content-Type: application/json" \
  -d '{"table":"products","doc":{"title":"Crossbody bag","price":19.85}}'
curl -u "admin:$MANTICORE_ADMIN_PASSWORD" "$MANTICORE_URL/search" -H "Content-Type: application/json" \
  -d '{"table":"products","query":{"match":{"title":"bag"}}}'
```

Create an API token with `POST /token`, or scoped users with `CREATE USER` and `GRANT`.

| Variable | Default | Purpose |
| --- | --- | --- |
| `searchd_auth` | `1` | Enables authentication |
| `MANTICORE_ADMIN_USER` / `_PASSWORD` | `admin` / generated | First administrator, created once |

Notes:

- The admin is created only when the auth store is empty; later password changes use `SET PASSWORD`.
- Any `searchd` setting can be set as `searchd_`.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the Manticore Search project or its maintainers.

## Why Deploy Manticore Search on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Manticore Search on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## 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/manticore-1
