2023-12-22 08:36:42 -05:00
---
title: 🍎 Mac
2023-12-28 17:10:06 -05:00
description: Mac Installation Guides
2023-12-22 08:36:42 -05:00
weight: 0
---
2023-07-19 11:35:41 -04:00
# Mac Installation Guide
2023-09-06 16:20:33 +02:00
## **Recommended : [Docker Install](docker_compose_install.md)**
2023-12-22 08:36:42 -05:00
- 👆 Docker Compose installation is recommended for most use cases. It's the easiest, simplest, and most reliable method to get started.
2023-05-26 22:22:11 -04:00
2023-07-01 20:11:37 -04:00
---
2023-05-09 13:47:14 -04:00
2023-05-26 22:22:11 -04:00
## **Manual Installation**
2023-05-21 08:42:16 -04:00
2023-12-16 20:26:47 -05:00
### Install the prerequisites (Required)
2023-12-28 17:10:06 -05:00
- Install Homebrew (if not already installed) by following the instructions on ** [brew.sh ](https://brew.sh/ )**
2023-12-16 20:26:47 -05:00
- Install Node.js and npm by running `brew install node`
2023-05-21 08:42:16 -04:00
2023-12-16 20:26:47 -05:00
### Download LibreChat (Required)
- Open Terminal and clone the repository by running `git clone https://github.com/danny-avila/LibreChat.git`
- Change into the cloned directory by running `cd LibreChat`
2023-12-22 08:36:42 -05:00
- Create a .env file by running `cp .env.example .env`
2023-12-16 20:26:47 -05:00
- Install dependencies by running: `npm ci`
- Build the client by running: `npm run frontend`
2023-05-09 13:47:14 -04:00
2023-12-22 08:36:42 -05:00
> You will only need to add your `MONGO_URI` (next step) for LibreChat to work. Make sure LibreChat works with the basic configuration first, you can always come back to the `.env` later for advanced configurations. See: [.env configuration](../configuration/dotenv.md)
2023-09-06 16:20:33 +02:00
2023-12-16 20:26:47 -05:00
### Create a MongoDB database (Required)
2023-12-22 08:36:42 -05:00
- [Create an online MongoDB database ](../configuration/mongodb.md ) **or** Install MongoDB by running `brew tap mongodb/brew` and `brew install mongodb-community`
2023-12-16 20:26:47 -05:00
- add your `MONGO_URI` in the .env file (use vscode or any text editor)
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
> Choose only one option, online or brew. Both have pros and cons
2023-05-09 13:47:14 -04:00
2023-12-22 08:36:42 -05:00
### [Setup your AI Endpoints](../configuration/ai_setup.md) (Required)
2023-12-18 18:43:50 -05:00
- At least one AI endpoint should be setup for use.
2023-05-09 13:47:14 -04:00
2023-12-22 08:36:42 -05:00
### [User/Auth System](../configuration/user_auth_system.md) (Optional)
2023-12-16 20:26:47 -05:00
- Set up the user/auth system and various social logins.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
### **Download MeiliSearch for macOS (Optional):**
- This enables the conversation search feature
2023-12-28 17:10:06 -05:00
- You can download the latest MeiliSearch binary for macOS from their GitHub releases page: ** [github.com/meilisearch ](https://github.com/meilisearch/meilisearch/releases )**
2023-12-16 20:26:47 -05:00
- Look for the file named `meilisearch-macos-amd64` (or the equivalent for your system architecture) and download it.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- **Make the binary executable:**
- Open Terminal and navigate to the directory where you downloaded the MeiliSearch binary. Run the following command to make it executable: `chmod +x meilisearch-macos-amd64`
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- **Run MeiliSearch:**
- Now that the binary is executable, you can start MeiliSearch by running the following command: `./meilisearch-macos-amd64 --master-key your_master_key_goes_here`
- Replace `your_master_key_goes_here` with your desired master key!
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- MeiliSearch will start running on the default port, which is 7700. You can now use MeiliSearch in your LibreChat project.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- Remember to include the MeiliSearch URL and Master Key in your .env file. Your .env file should include the following lines:
2023-05-09 13:47:14 -04:00
```
MEILISEARCH_URL=http://127.0.0.1:7700
MEILISEARCH_KEY=your_master_key_goes_here
```
2023-12-16 20:26:47 -05:00
> **Important:** use the same master key here and in your .env file.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- With MeiliSearch running and configured, the LibreChat project should now have the Conversation search feature enabled.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
### Start LibreChat
- In the LibreChat directory, start the application by running `npm run backend`
- **Visit: http://localhost:3080 & enjoy**
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
---
### Optional but recommended:
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- Create a script to automate the starting process by creating a new file named `librechat.sh` in the LibreChat directory and pasting the following code:
``` bash title="librechat.sh"
2023-05-09 13:47:14 -04:00
#!/bin/bash
# Replace "your_master_key_goes_here" with your MeiliSearch Master Key
if [ -x "$(command -v ./meilisearch)" ]; then
./meilisearch --master-key your_master_key_goes_here &
fi
2023-05-15 07:49:49 -04:00
npm run backend
2023-05-09 13:47:14 -04:00
```
2023-12-16 20:26:47 -05:00
- Make the script executable by running: `chmod +x librechat.sh`
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
- You can now start LibreChat by running: `./librechat.sh`
2023-05-21 08:42:16 -04:00
2023-12-16 20:26:47 -05:00
---
2023-05-21 08:42:16 -04:00
2023-12-16 20:26:47 -05:00
### Update LibreChat
2023-08-09 13:38:17 -04:00
- Run `npm run update` from the project directory for a clean installation.
2023-05-09 13:47:14 -04:00
2023-12-16 20:26:47 -05:00
**If you're having issues running this command, you can try running what the script does manually:**
2023-10-29 11:52:31 -04:00
```bash
# Terminal on macOS, prefix commands with `sudo` as needed
# Step 1: Get the latest changes
2023-12-16 20:26:47 -05:00
# 1a - Fetch the latest changes from Github
2023-10-29 11:52:31 -04:00
git fetch origin
2023-12-16 20:26:47 -05:00
# 1b - Switch to the repo's main branch
2023-10-29 11:52:31 -04:00
git checkout main
2023-12-16 20:26:47 -05:00
# 1c - Pull the latest changes to the main branch from Github
2023-10-29 11:52:31 -04:00
git pull origin main
# Step 2: Delete all node_modules directories
2023-12-16 20:26:47 -05:00
# 2a - Define the list of directories we will delete
2023-10-29 11:52:31 -04:00
directories=(
"."
"./packages/data-provider"
"./client"
"./api"
)
2023-12-16 20:26:47 -05:00
# 2b - Loop over each directory and delete the node_modules folder if it exists
2023-10-29 11:52:31 -04:00
for dir in "${directories[@]}"; do
nodeModulesPath="$dir/node_modules"
if [ -d "$nodeModulesPath" ]; then
echo "Deleting node_modules in $dir"
rm -rf "$nodeModulesPath"
fi
done
# Step 3: Clean the npm cache
npm cache clean --force
# Step 4: Install dependencies
npm ci
# Step 5: Build client-side (frontend) code
npm run frontend
# Start LibreChat
npm run backend
```
The above assumes that you're using the default Terminal application on macOS and are executing the commands from the project directory. The commands are written in Bash, which is the default shell for macOS (though newer versions use `zsh` by default, but these commands should work there as well).
2023-07-01 20:11:37 -04:00
---
2023-05-09 13:47:14 -04:00
2023-08-28 09:18:25 -04:00
>⚠️ Note: If you're having trouble, before creating a new issue, please search for similar ones on our [#issues thread on our discord ](https://discord.gg/weqZFtD9C4 ) or our [troubleshooting discussion ](https://github.com/danny-avila/LibreChat/discussions/categories/troubleshooting ) on our Discussions page. If you don't find a relevant issue, feel free to create a new one and provide as much detail as possible.