Skip to content

Latest commit

 

History

History
209 lines (152 loc) · 6.49 KB

linux_install.md

File metadata and controls

209 lines (152 loc) · 6.49 KB

Linux Installation Guide

Recommended:

Watch the video Click on the thumbnail to open the video☝️

In this video, you will learn how to install and run LibreChat, using Docker on Ubuntu 22.04 LTS.

Timestamps

  • 0:00 - Intro
  • 0:14 - Update the system
  • 0:29 - Clone the repository
  • 0:37 - Docker installation
  • 1:03 - Enter in the folder
  • 1:07 - Create the .env file
  • 1:14 - Build using docker-compose
  • 1:29 - Start LibreChat
  • 1:43 - Test

Instructions

Here are the steps to follow:

  • Update the system: sudo apt update
  • Clone LibreChat: git clone https://github.com/danny-avila/LibreChat.git
  • Install Docker: sudo apt install docker.io && apt install docker-compose -y
  • Enter the folder: cd LibreChat
  • Create the .env file: cp .env.example .env
  • Build the Docker image: docker-compose build
  • Start LibreChat: docker-compose up -d

Note: If you run the command on the same computer and want to access it, navigate to localhost:3080. You should see a login page where you can create or sign in to your account. Then you can choose an AI model and start chatting.

Have fun!


Docker Install (General documentation)


Manual Installation:

Prerequisites

Before installing LibreChat, make sure your machine has the following prerequisites installed:

  • Git: To clone the repository.
  • Node.js: To run the application.
  • MongoDB: To store the chat history.

Clone the repository:

git clone https://github.com/danny-avila/LibreChat.git

Extract the content in your desired location:

cd LibreChat
unzip LibreChat.zip -d /usr/local/

Note: The above command extracts the files to "/usr/local/LibreChat". If you want to install the files to a different location, modify the instructions accordingly.

Enable the Conversation search feature: (optional)

./meilisearch --master-key=YOUR_MASTER_KEY

Note: Replace "YOUR_MASTER_KEY" with the generated master key, which you saved earlier.

Install Node.js:

Open a terminal and run the following commands:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
  • You must set up at least one of these tokens or APIs to run the app.

User/Auth System (Optional)

  • How to set up the user/auth system and Google login.

Run the project

Using the command line (in the root directory)

Setup the app:

  1. Run npm ci
  2. Run npm run frontend

Start the app:

  1. Run npm run backend
  2. Run meilisearch --master-key put_your_meilesearch_Master_Key_here (Only if SEARCH=TRUE)
  3. Visit http://localhost:3080 (default port) & enjoy

Using a shell script

  • Create a shell script to automate the starting process
  • Open a text editor
  • Paste the following code in a new document
  • Put your MeiliSearch master key instead of "your_master_key_goes_here"
  • Save the file as "/home/user/LibreChat/LibreChat.sh"
  • You can make a shortcut of this shell script and put it anywhere
#!/bin/bash
# the meilisearch executable needs to be at the root of the LibreChat directory

gnome-terminal --tab --title="MeiliSearch" --command="bash -c 'meilisearch --master-key your_master_key_goes_here'"
# ↑↑↑ meilisearch is the name of the meilisearch executable, put your own master key there

gnome-terminal --tab --title="LibreChat" --working-directory=/home/user/LibreChat/ --command="bash -c 'npm run backend'"
# this shell script goes at the root of the LibreChat directory (/home/user/LibreChat/)

Update the app version

  • Run npm run update from the project directory for a clean installation.

If you're having issues running this command, you can try running what the script does manually:

Prefix commands with sudo according to your environment permissions.

Docker

# Fetch the latest changes from Github
git fetch origin
# Switch to the repo's main branch
git checkout main
# Pull the latest changes to the main branch from Github
git pull origin main
# Prune all LibreChat Docker images
docker rmi librechat:latest
# Remove all unused dangling Docker images
docker image prune -f
# Building a new LibreChat image
docker-compose build

# Start LibreChat
docker-compose up

Local (npm)

# Bash Terminal

# Step 1: Get the latest changes

# Fetch the latest changes from Github
git fetch origin
# Switch to the repo's main branch
git checkout main
# Pull the latest changes to the main branch from Github
git pull origin main

# Step 2: Delete all node_modules directories
# Define the list of directories we will delete
directories=(
    "."
    "./packages/data-provider"
    "./client"
    "./api"
)

# Loop over each directory and delete the node_modules folder if it exists
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 Linux and are executing the commands from the project directory. The commands are written in Bash, which is a common default shell for many Linux distributions. While some systems might use other shells like zsh or fish, these commands should be compatible with most of them.


⚠️ Note: If you're having trouble, before creating a new issue, please search for similar ones on our #issues thread on our discord or our troubleshooting discussion 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.