Deployment guide

Hosting Typesense on a VPS

Deploy on a VPS Cloud →

Databases3 min read

Hosting Typesense on a VPS

Typesense is a typo-tolerant open-source search engine, shipped as a single binary with no JVM and far simpler to operate than Elasticsearch. On a dedicated VPS, you keep control of your data and your costs. Here is how to deploy it cleanly in production.

Why self-host Typesense on a VPS

Managed search services (Algolia, etc.) bill per query and per indexed document: the bill climbs quickly as soon as your catalogue grows. Typesense offers instant search — the vendor states latency under 50 ms — with typo tolerance and relevance-based sorting, all in a single binary with no JVM. By deploying it on your own VPS, you set a predictable monthly cost, you keep your user indexes out of a third-party cloud, and you can place your instance as close as possible to your application to minimize network latency.

What you gain in concrete terms

  • A fixed cost instead of per-query billing that explodes with traffic
  • No public network hop: Typesense on the same private network as your app
  • Fault tolerance and search-as-you-type (typo-tolerance) with no complex tuning
  • Index data and search logs kept on your infrastructure
  • A reduced memory footprint: no JVM, a single process to supervise
  • A simple REST API and scoped API keys (search-only / admin) to secure the front-end

Realistic prerequisites

Typesense loads its indexes into memory: size the RAM according to the size of your corpus. For a catalogue of up to a few hundred thousand documents, a 2 vCPU / 4 GB RAM VPS is more than enough. Count on 8 GB beyond a million documents or for vector fields (semantic search). Plan for an SSD for data persistence, Docker and Docker Compose installed, as well as a subdomain such as search.yourdomain.com pointing to the VPS IP.

Step-by-step deployment

01

Prepare the VPS and Docker

Update the system, install Docker and the Compose plugin, then create a dedicated folder: mkdir -p /opt/typesense/data. This volume will host the indexes persisted on the SSD.

02

Define the service with a strong API key

In a docker-compose.yml, declare the typesense/typesense:0.25.2 image, mount /opt/typesense/data:/data, expose port 8108 locally only (127.0.0.1:8108) and pass --api-key via a variable generated with openssl rand -base64 32.

03

Launch and check health

Start with docker compose up -d then test: curl http://127.0.0.1:8108/health should return {"ok":true}. Then create a first collection via the REST API to validate indexing.

04

Place a reverse proxy + SSL

Configure Nginx (or Caddy) to expose search.yourdomain.com to 127.0.0.1:8108. With Caddy, a simple reverse_proxy 127.0.0.1:8108 block generates the Let's Encrypt certificate automatically; with Nginx, use certbot --nginx.

05

Compartmentalize the API keys

Never distribute the admin key on the browser side. Generate a search-only scoping key (actions: documents:search) and expose only that one in your JavaScript front-end.

06

Automate backups

Schedule a docker exec of the /operations/snapshot endpoint or a tar of the /opt/typesense/data volume pushed each night to a remote object storage.

Enabling a single node in persistent mode is enough for most projects, but if your search becomes critical, set up a 3-node Raft cluster (--nodes) across 3 VPS for high availability: Typesense handles replication itself and automatically fails over the leader in case of failure, with no application-level load balancer on the write side.

Deploy Typesense from the ServOrbit Marketplace

The ServOrbit Marketplace offers Typesense as a one-click deployment: select Development → Typesense, click Install, and provisioning starts automatically. A typesense/typesense:29.0 container launches on your Ubuntu VPS, with a persistent volume for your indexes and a randomly generated admin API key — shown directly in your client area, with no manual configuration.

Compared to a manual setup (docker compose, key generation, Nginx vhost + SSL), the Marketplace route removes the repetitive steps and takes you straight to the first collection. The app becomes orderable as soon as the first green install verdict is confirmed by our automated validation loop.

Deploy Typesense in minutes

The ServOrbit Cloud VPS comes with Docker preconfigured and a low-latency private network, ideal for running Typesense alongside your application. Ready-to-use templates included.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.