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

# Installation

> Learn how to install Cachet on your server.

<Warning>
  Cachet v3.x is currently in development and not yet released. The following instructions are intended for development
  purposes only and are subject to change.
</Warning>

## Prerequisites

Cachet v3.x is written in PHP with Laravel 11.x and requires:

* PHP 8.2, 8.3 or 8.4
* [Composer](https://getcomposer.org)
* SQLite, MySQL, MariaDB 10.7+, PostgreSQL, or SQL Server

## Installing Cachet

If you are looking to migrate from Cachet v2.x, please refer to the [migration guide](/v3.x/migration-guide).

<Tabs>
  <Tab title="Manual Setup">
    <Steps>
      <Step title="Step 1">
        Clone the Cachet repository:

        ```bash theme={null}
        git clone -b 3.x https://github.com/cachethq/cachet.git
        cd cachet
        ```
      </Step>

      <Step title="Step 2">
        Install the dependencies:

        ```bash theme={null}
        composer install --no-dev -o
        ```
      </Step>

      <Step title="Step 3">
        Update the `cachethq/core` dependency:

        ```bash theme={null}
        composer update cachethq/core
        ```

        <Note>
          This is a temporary step until Cachet v3.x is released.
        </Note>
      </Step>

      <Step title="Step 4">
        Copy the `.env.example` file to `.env`:

        ```bash theme={null}
        cp .env.example .env
        ```
      </Step>

      <Step title="Step 5">
        Generate an application key:

        ```bash theme={null}
        php artisan key:generate
        ```
      </Step>

      <Step title="Step 6">
        Configure the `.env` file and set the values of your setup:

        ```ini .env theme={null}
        DB_CONNECTION=mysql
        DB_HOST=127.0.0.1
        DB_PORT=3306
        DB_DATABASE=cachet
        DB_USERNAME=root
        DB_PASSWORD=
        ```
      </Step>

      <Step title="Step 7">
        Publish Cachet's assets:

        ```bash theme={null}
        php artisan vendor:publish --tag=cachet
        ```
      </Step>

      <Step title="Step 8">
        Run the database migrations:

        ```bash theme={null}
        php artisan migrate
        ```
      </Step>

      <Step title="Step 9">
        Create the first user by following the prompts:

        ```bash theme={null}
        php artisan cachet:make:user
        ```
      </Step>

      <Step title="Step 10">
        Enable the scheduler by adding the following cron entry:

        ```bash /etc/crontab theme={null}
        * * * * * php /path/to/cachet/artisan schedule:run >> /dev/null 2>&1
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>
