> ## Documentation Index
> Fetch the complete documentation index at: https://www.meilisearch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install Meilisearch locally

> Install Meilisearch locally on Linux, macOS, or Windows using cURL, Docker, Homebrew, APT, or from source.

## Supported operating systems

Meilisearch officially supports the following operating systems. Binaries might work on other environments without official support.

| OS          | Requirements                                                                           |
| ----------- | -------------------------------------------------------------------------------------- |
| **Linux**   | `amd64/x86_64` or `aarch64/arm64` with glibc 2.35+. Check with `ldd --version`.        |
| **macOS**   | macOS 14 Sonoma or later, `amd64` or `arm64`.                                          |
| **Windows** | Windows Server 2022 or later. Windows OS 10+ may work but is not officially supported. |

<Tip>
  Use [Meilisearch Cloud](https://www.meilisearch.com/cloud) to integrate Meilisearch with applications hosted in unsupported operating systems.
</Tip>

## Meilisearch Cloud

[Meilisearch Cloud](https://www.meilisearch.com/cloud) simplifies installing, maintaining, and updating Meilisearch. [Get started with a 14-day free trial](https://cloud.meilisearch.com/register).

Take a look at the [Meilisearch Cloud tutorial](/getting_started/first_project) for more information on setting up and using Meilisearch's cloud service.

## Local installation

<Tabs>
  <Tab title="cURL">
    Download the **latest stable release** of Meilisearch with **cURL**.

    Launch Meilisearch to start the server.

    ```bash theme={null}
    # Install Meilisearch
    curl -L https://install.meilisearch.com | sh

    # Launch Meilisearch
    ./meilisearch
    ```
  </Tab>

  <Tab title="Homebrew">
    Download the **latest stable release** of Meilisearch with **[Homebrew](https://brew.sh/)**, a package manager for MacOS.<br />

    Launch Meilisearch to start the server.

    ```bash theme={null}
    # Update brew and install Meilisearch
    brew update && brew install meilisearch

    # Launch Meilisearch
    meilisearch
    ```
  </Tab>

  <Tab title="Docker">
    When using **Docker**, you can run [any tag available in our official Docker image](https://hub.docker.com/r/getmeili/meilisearch/tags).<br />

    These commands launch the **latest stable release** of Meilisearch.

    ```bash theme={null}
    # Fetch the latest version of Meilisearch image from DockerHub
    docker pull getmeili/meilisearch:v1.37

    # Launch Meilisearch in development mode with a master key
    docker run -it --rm \
        -p 7700:7700 \
        -e MEILI_ENV='development' \
        -v $(pwd)/meili_data:/meili_data \
        getmeili/meilisearch:v1.37
    # Use ${pwd} instead of $(pwd) in PowerShell
    ```

    You can learn more about [using Meilisearch with Docker in our dedicated guide](/resources/self_hosting/getting_started/docker).
  </Tab>

  <Tab title="APT">
    Download the **latest stable release** of Meilisearch with **APT**.<br />

    Launch Meilisearch to start the server.

    ```bash theme={null}
    # Add Meilisearch package
    echo "deb [trusted=yes] https://apt.fury.io/meilisearch/ /" | sudo tee /etc/apt/sources.list.d/fury.list

    # Update APT and install Meilisearch
    sudo apt update && sudo apt install meilisearch

    # Launch Meilisearch
    meilisearch
    ```
  </Tab>

  <Tab title="Source">
    Meilisearch is written in Rust. To compile it, [install the Rust toolchain](https://www.rust-lang.org/tools/install).<br />

    Once the Rust toolchain is installed, clone the repository on your local system and change it to your working directory.

    ```bash theme={null}
    git clone https://github.com/meilisearch/meilisearch
    cd meilisearch
    ```

    Choose the release you want to use. You can find the full list [here](https://github.com/meilisearch/meilisearch/releases).<br />

    In the cloned repository, run the following command to access the most recent version of Meilisearch:

    ```bash theme={null}
    git checkout latest
    ```

    Finally, update the Rust toolchain, compile the project, and execute the binary.

    ```bash theme={null}
    # Update the Rust toolchain to the latest version
    rustup update

    # Compile the project
    cargo build --release

    # Execute the binary
    ./target/release/meilisearch
    ```
  </Tab>

  <Tab title="Windows">
    To install Meilisearch on Windows, you can:

    * Use Docker (see "Docker" tab above)
    * Download the latest binary (see "Direct download" tab above)
    * Use the installation script (see "cURL" tab above) if you have installed [Cygwin](https://www.cygwin.com/), [WSL](https://learn.microsoft.com/en-us/windows/wsl/), or equivalent
    * Compile from source (see "Source" tab above)

    To learn more about the Windows command prompt, follow this [introductory guide](https://www.makeuseof.com/tag/a-beginners-guide-to-the-windows-command-line/).
  </Tab>

  <Tab title="Direct download">
    If none of the other installation options work for you, you can always download the Meilisearch binary directly on GitHub.<br />

    Go to the [latest Meilisearch release](https://github.com/meilisearch/meilisearch/releases/latest), scroll down to "Assets", and select the binary corresponding to your operating system.

    ```bash theme={null}
    # Rename binary to meilisearch. Replace {meilisearch_os} with the name of the downloaded binary
    mv {meilisearch_os} meilisearch

    # Give the binary execute permission
    chmod +x meilisearch

    # Launch Meilisearch
    ./meilisearch
    ```
  </Tab>
</Tabs>

## Installing older versions of Meilisearch

We discourage the use of older Meilisearch versions. Before installing an older version, please [contact support](https://discord.meilisearch.com) to check if the latest version might work as well.

<Tabs>
  <Tab title="cURL">
    Download the binary of a specific version under "Assets" on our [GitHub changelog](https://github.com/meilisearch/meilisearch/releases).

    ```bash theme={null}
    # Replace {meilisearch_version} and {meilisearch_os} with the specific version and OS you want to download
    # For example, if you want to download v1.0 on macOS,
    # replace {meilisearch_version} and {meilisearch_os} with v1.0 and meilisearch-macos-amd64 respectively
    curl -OL https://github.com/meilisearch/meilisearch/releases/download/{meilisearch_version}/{meilisearch_os}

    # Rename binary to meilisearch. Replace {meilisearch_os} with the name of the downloaded binary
    mv {meilisearch_os} meilisearch

    # Give the binary execute permission
    chmod +x meilisearch

    # Launch Meilisearch
    ./meilisearch
    ```
  </Tab>

  <Tab title="Docker">
    When using **Docker**, you can run [any tag available in our official Docker image](https://hub.docker.com/r/getmeili/meilisearch/tags).<br />

    ```bash theme={null}
    # Fetch specific version of Meilisearch image from DockerHub. Replace vX.Y.Z with the version you want to use
    docker pull getmeili/meilisearch:vX.Y.Z

    # Launch Meilisearch in development mode with a master key
    docker run -it --rm \
        -p 7700:7700 \
        -e MEILI_ENV='development' \
        -v $(pwd)/meili_data:/meili_data \
        getmeili/meilisearch:vX.Y.Z
    # Use ${pwd} instead of $(pwd) in PowerShell
    ```

    Learn more about [using Meilisearch with Docker in our dedicated guide](/resources/self_hosting/getting_started/docker).
  </Tab>

  <Tab title="Source">
    Meilisearch is written in Rust. To compile it, [install the Rust toolchain](https://www.rust-lang.org/tools/install).<br />

    Once the Rust toolchain is installed, clone the repository on your local system and change it to your working directory.

    ```bash theme={null}
    git clone https://github.com/meilisearch/meilisearch
    cd meilisearch
    ```

    Choose the release you want to use. You can find the full list [here](https://github.com/meilisearch/meilisearch/releases).<br />

    In the cloned repository, run the following command to access a specific version of Meilisearch:

    ```bash theme={null}
    # Replace vX.Y.Z with the specific version you want to use
    git checkout vX.Y.Z
    ```

    Finally, update the Rust toolchain, compile the project, and execute the binary.

    ```bash theme={null}
    # Update the Rust toolchain to the latest version
    rustup update

    # Compile the project
    cargo build --release

    # Execute the binary
    ./target/release/meilisearch
    ```
  </Tab>

  <Tab title="Direct download">
    Download the binary of a specific version under "Assets" on our [GitHub changelog](https://github.com/meilisearch/meilisearch/releases).

    ```bash theme={null}
    # Rename binary to meilisearch. Replace {meilisearch_os} with the name of the downloaded binary
    mv {meilisearch_os} meilisearch

    # Give the binary execute permission
    chmod +x meilisearch

    # Launch Meilisearch
    ./meilisearch
    ```
  </Tab>
</Tabs>

## Troubleshooting

If the provided [binaries](https://github.com/meilisearch/meilisearch/releases) do not work on your operating system, try [building Meilisearch from source](#local-installation). If compilation fails, Meilisearch is not compatible with your machine.
