# Install Typesense

Here are a couple of available options to install and run Typesense.

# Option 1: Typesense Cloud

The easiest way to run Typesense is using our managed Cloud service called Typesense Cloud (opens new window).

  • Sign-in with GitHub
  • Pick a configuration and click on Launch. You'll have a ready-to-use cluster in a few minutes.
  • Then click on "Generate API Key", which will give you the hostnames and API keys to use in your code.

# Option 2: Local Machine / Self-Hosting

You can also run Typesense on your local machine or self-host it.

You'll find DEB, RPM and pre-built binaries for Linux and macOS on our downloads (opens new window) page.

We also publish official Docker images for Typesense on Docker hub (opens new window).

# Docker

# Docker Compose

mkdir $(pwd)/typesense-data

docker-compose up

# Kubernetes

There are a couple of community supported contributions for deploying on Kubernetes:

# Mac via Homebrew

For macOS running on Intel CPUs:

  • The default API key is xyz and the default port is 8108
  • The config file is at /usr/local/etc/typesense/typesense.ini
  • Logs are under /usr/local/var/log/typesense/
  • Data dir is under /usr/local/var/lib/typesense/

For macOS running on Apple Silicon CPUs:

  • The default API key is xyz and the default port is 8108
  • The config file is at /opt/homebrew/etc/typesense/typesense.ini
  • Logs are under /opt/homebrew/var/log/typesense/
  • Data dir is under /opt/homebrew/var/lib/typesense/

Compatibility with macOS & Apple M1/M2

The macOS native binary only works with macOS Ventura (13.x) or above, running on an Intel CPU.

For older versions of macOS running on an Intel CPU and for all versions of macOS running on Apple M1/M2 CPUs, please use the Docker or Docker Compose installation method above.

# Mac Binary

Compatibility with macOS & Apple M1/M2

The macOS native binary only works with macOS Ventura (13.x) or above, running on an Intel CPU.

For older versions of macOS running on an Intel CPU and for all versions of macOS running on Apple M1/M2 CPUs, please use the Docker or Docker Compose installation method above.

# DEB package on Ubuntu/Debian

  • The config file is at /etc/typesense/typesense-server.ini
    • The admin API key is auto-generated and can be found inside the config file.
  • Logs are under /var/log/typesense/
  • Data dir is under /var/lib/typesense/

Compatibility

v0.25.0 of Typesense Server requires Ubuntu 20 or later.

# RPM package on CentOS/RHEL

  • The config file is at /etc/typesense/typesense-server.ini
    • The admin API key is auto-generated and can be found inside the config file.
  • Logs are under /var/log/typesense/
  • Data dir is under /var/lib/typesense/

Compatibility

v0.25.0 of Typesense Server requires recent versions of the Linux kernel.

# Linux Binary

Compatibility

v0.25.0 of Typesense Server requires Ubuntu 20 or later or recent versions of the Linux kernel.

# Windows (WSL) (opens new window)

Note: Post install, you might see the message "installed typesense-server package post-installation script subprocess returned error exit status 1". You can safely ignore this error message. Executing apt list --installed | grep typesense should show that installation was successful.

You can retrieve the hostname for the server on which Typesense is running using wsl hostname -I in cmd. You should be able to connect to this hostname/IP address directly from Windows.

If you'd like Typesense to be started at startup, you can create a BAT file with the command powershell.exe /c wsl.exe sudo /usr/bin/./typesense-server --config=/etc/typesense/typesense-server.ini and set it to execute at startup.

By default, Typesense will start on port 8108, and the installation will generate a random API key, which you can view/change from the configuration file at /etc/typesense/typesense-server.ini

TIP

We are starting a single node here, but Typesense can also run in a clustered mode. See the High Availability section for more details.

# 🆗 Health Check

You can use the /health API end-point to verify that the server is ready to accept requests.

curl http://localhost:8108/health
{"ok":true}

# ⚙️ Configure Typesense

You can configure various Typesense Server settings using command line arguments. Read this reference article for more information on How To Configure Typesense Server.

Last Updated: 10/3/2023, 10:21:14 PM