mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 10:48:32 +07:00
docs: fix outdated Docker Compose instructions and add Explore section to docs landing (#519)
* docs: update Docker Compose installation instructions for clarity and modern syntax * docs: update Docker Compose commands to use modern syntax * feat: add Explore section with links to Features and User Guides in QuickStartHub * fix: clarify description for Model Context Protocol feature
This commit is contained in:
@@ -38,9 +38,8 @@ const hero: Feature = {
|
|||||||
icon: Cable,
|
icon: Cable,
|
||||||
title: 'Model Context Protocol',
|
title: 'Model Context Protocol',
|
||||||
description:
|
description:
|
||||||
'Connect AI models to any external tool or service through MCP — the open standard for AI tool integration. LibreChat is an official MCP client.',
|
'Connect AI models to any external tool or service through MCP — the open standard for AI tool integration',
|
||||||
href: '/docs/features/mcp',
|
href: '/docs/features/mcp',
|
||||||
tag: 'Official MCP Client',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const highlights: Feature[] = [
|
const highlights: Feature[] = [
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { Clock, CheckCircle2, ArrowRight, Plug, FileText, Map, MessageSquare } from 'lucide-react'
|
import {
|
||||||
|
Clock,
|
||||||
|
CheckCircle2,
|
||||||
|
ArrowRight,
|
||||||
|
Plug,
|
||||||
|
FileText,
|
||||||
|
Map,
|
||||||
|
MessageSquare,
|
||||||
|
Sparkles,
|
||||||
|
BookOpen,
|
||||||
|
} from 'lucide-react'
|
||||||
import type { ComponentProps } from 'react'
|
import type { ComponentProps } from 'react'
|
||||||
|
|
||||||
function DockerLogo(props: ComponentProps<'svg'>) {
|
function DockerLogo(props: ComponentProps<'svg'>) {
|
||||||
@@ -213,6 +223,63 @@ export function QuickStartHub() {
|
|||||||
</Link>
|
</Link>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
{/* Explore */}
|
||||||
|
<section aria-labelledby="explore-heading">
|
||||||
|
<div className="flex items-center gap-3 mb-4">
|
||||||
|
<h2
|
||||||
|
id="explore-heading"
|
||||||
|
className="shrink-0 text-xs font-semibold uppercase tracking-widest text-fd-muted-foreground"
|
||||||
|
>
|
||||||
|
Explore
|
||||||
|
</h2>
|
||||||
|
<div className="h-px flex-1 bg-fd-border" aria-hidden="true" />
|
||||||
|
</div>
|
||||||
|
<div className="grid grid-cols-1 gap-3 sm:grid-cols-2">
|
||||||
|
<Link
|
||||||
|
href="/docs/features"
|
||||||
|
className="group flex items-center gap-4 rounded-xl border border-fd-border px-5 py-4 transition-colors hover:border-fd-foreground/20 hover:bg-fd-accent"
|
||||||
|
>
|
||||||
|
<div className="shrink-0 rounded-md bg-fd-accent p-2 transition-colors group-hover:bg-fd-background">
|
||||||
|
<Sparkles
|
||||||
|
className="size-4 text-fd-muted-foreground transition-colors group-hover:text-fd-foreground"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="min-w-0 flex-1">
|
||||||
|
<span className="text-sm font-medium text-fd-foreground">Features</span>
|
||||||
|
<p className="text-xs text-fd-muted-foreground">
|
||||||
|
Agents, MCP, web search, RAG, artifacts, image generation, and more
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<ArrowRight
|
||||||
|
className="size-4 shrink-0 text-fd-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-fd-foreground"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
href="/docs/user_guides"
|
||||||
|
className="group flex items-center gap-4 rounded-xl border border-fd-border px-5 py-4 transition-colors hover:border-fd-foreground/20 hover:bg-fd-accent"
|
||||||
|
>
|
||||||
|
<div className="shrink-0 rounded-md bg-fd-accent p-2 transition-colors group-hover:bg-fd-background">
|
||||||
|
<BookOpen
|
||||||
|
className="size-4 text-fd-muted-foreground transition-colors group-hover:text-fd-foreground"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="min-w-0 flex-1">
|
||||||
|
<span className="text-sm font-medium text-fd-foreground">User Guides</span>
|
||||||
|
<p className="text-xs text-fd-muted-foreground">
|
||||||
|
Learn how to use presets, AI providers, and navigate the interface
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<ArrowRight
|
||||||
|
className="size-4 shrink-0 text-fd-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-fd-foreground"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
{/* Resources */}
|
{/* Resources */}
|
||||||
<section aria-labelledby="resources-heading">
|
<section aria-labelledby="resources-heading">
|
||||||
<div className="flex items-center gap-3 mb-4">
|
<div className="flex items-center gap-3 mb-4">
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ The create-user script allows you to add users directly to the database, even wh
|
|||||||
|
|
||||||
1. For the default `docker-compose.yml` (if you use `docker compose up` to start the app):
|
1. For the default `docker-compose.yml` (if you use `docker compose up` to start the app):
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec api npm run create-user
|
docker compose exec api npm run create-user
|
||||||
```
|
```
|
||||||
|
|
||||||
2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
||||||
@@ -125,7 +125,7 @@ To delete a user, you can use the delete-user script:
|
|||||||
|
|
||||||
1. For the default `docker-compose.yml` (if you use `docker compose up` to start the app):
|
1. For the default `docker-compose.yml` (if you use `docker compose up` to start the app):
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec api npm run delete-user email@domain.com
|
docker compose exec api npm run delete-user email@domain.com
|
||||||
```
|
```
|
||||||
|
|
||||||
2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ This script resets the synchronization flags in MongoDB, which will trigger Libr
|
|||||||
npm run reset-meili-sync
|
npm run reset-meili-sync
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run reset-meili-sync
|
docker compose exec api npm run reset-meili-sync
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run reset-meili-sync"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run reset-meili-sync"
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ You can manually add or set user balances. This is especially useful during deve
|
|||||||
npm run add-balance
|
npm run add-balance
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run add-balance
|
docker compose exec api npm run add-balance
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run add-balance"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run add-balance"
|
||||||
@@ -125,7 +125,7 @@ docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run add-balance"
|
|||||||
npm run add-balance danny@librechat.ai 1000
|
npm run add-balance danny@librechat.ai 1000
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run add-balance danny@librechat.ai 1000
|
docker compose exec api npm run add-balance danny@librechat.ai 1000
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run add-balance danny@librechat.ai 1000"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run add-balance danny@librechat.ai 1000"
|
||||||
@@ -140,7 +140,7 @@ Additionally, you can set a balance for a user. An existing balance will be over
|
|||||||
npm run set-balance
|
npm run set-balance
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run set-balance
|
docker compose exec api npm run set-balance
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance"
|
||||||
@@ -151,7 +151,7 @@ docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance"
|
|||||||
npm run set-balance danny@librechat.ai 1000
|
npm run set-balance danny@librechat.ai 1000
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run set-balance danny@librechat.ai 1000
|
docker compose exec api npm run set-balance danny@librechat.ai 1000
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance danny@librechat.ai 1000"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance danny@librechat.ai 1000"
|
||||||
@@ -164,7 +164,7 @@ docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run set-balance danny@lib
|
|||||||
npm run list-balances
|
npm run list-balances
|
||||||
|
|
||||||
# Docker (default setup)
|
# Docker (default setup)
|
||||||
docker-compose exec api npm run list-balances
|
docker compose exec api npm run list-balances
|
||||||
|
|
||||||
# Docker (deployment setup)
|
# Docker (deployment setup)
|
||||||
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run list-balances"
|
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run list-balances"
|
||||||
|
|||||||
@@ -386,17 +386,17 @@ Choose the appropriate command based on your deployment method:
|
|||||||
|
|
||||||
**Preview changes (dry run):**
|
**Preview changes (dry run):**
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec api npm run migrate:agent-permissions:dry-run
|
docker compose exec api npm run migrate:agent-permissions:dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**Execute migration:**
|
**Execute migration:**
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec api npm run migrate:agent-permissions
|
docker compose exec api npm run migrate:agent-permissions
|
||||||
```
|
```
|
||||||
|
|
||||||
**Custom batch size (for large datasets):**
|
**Custom batch size (for large datasets):**
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec api npm run migrate:agent-permissions:batch
|
docker compose exec api npm run migrate:agent-permissions:batch
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
#### 2. For the `deploy-compose.yml` (if you followed the [Ubuntu Docker Guide](/docs/remote/docker_linux)):
|
||||||
|
|||||||
@@ -112,38 +112,21 @@ You should see an output that says **active (running)** for status.
|
|||||||
|
|
||||||
Exit this log by pressing CTRL (or CMD) + C.
|
Exit this log by pressing CTRL (or CMD) + C.
|
||||||
|
|
||||||
### **5. Install the Latest Version of Docker Compose**
|
### **5. Install Docker Compose**
|
||||||
|
|
||||||
The version of docker-compose packaged with the Linux distribution is probably old and will not work for us.
|
Since we already added Docker's official repository in step 2, installing Docker Compose is straightforward using the [official Compose plugin](https://docs.docker.com/compose/install/linux/):
|
||||||
|
|
||||||
Checking the releases on the [Docker Compose GitHub](https://github.com/docker/compose/releases), the last release is v2.26.1 (as of 4/6/24).
|
|
||||||
|
|
||||||
You will have to manually download and install it. But fear not, it is quite easy.
|
|
||||||
|
|
||||||
First, download the latest version of Docker Compose using the following command:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo curl -L https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
sudo apt install docker-compose-plugin
|
||||||
```
|
```
|
||||||
|
|
||||||
Next, make it executable using the following command:
|
Verify the installation:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chmod +x /usr/local/bin/docker-compose
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
Docker Compose should now be installed on your Ubuntu system. Let's check to be sure.
|
> Note: Docker Compose v2 uses the `docker compose` command (without hyphen) instead of the legacy `docker-compose`. All commands in this guide use the modern syntax.
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose -v
|
|
||||||
# output should be: Docker Compose version v2.20.2
|
|
||||||
```
|
|
||||||
|
|
||||||
If you get a permission denied error, like I did, reboot/switch to your created user again, and run `sudo chmod +x /usr/local/bin/docker-compose` again
|
|
||||||
|
|
||||||
#### Note on Docker Compose Commands
|
|
||||||
|
|
||||||
As of Docker Compose v2, `docker-compose` is now `docker compose`. This guide will use the old commands for now, but you should be aware of this change and that `docker compose` is often preferred.
|
|
||||||
|
|
||||||
### **6. As part of this guide, I will recommend you have git and npm installed:**
|
### **6. As part of this guide, I will recommend you have git and npm installed:**
|
||||||
|
|
||||||
@@ -288,7 +271,7 @@ docker info
|
|||||||
Now we can start the app container. For the first time, we'll use the full command and later we can use a shorthand command
|
Now we can start the app container. For the first time, we'll use the full command and later we can use a shorthand command
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo docker-compose -f ./deploy-compose.yml up -d
|
sudo docker compose -f ./deploy-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
@@ -329,7 +312,7 @@ npm run update:deployed
|
|||||||
npm run stop:deployed
|
npm run stop:deployed
|
||||||
```
|
```
|
||||||
|
|
||||||
> This simply runs `docker-compose -f ./deploy-compose.yml down`
|
> This simply runs `docker compose -f ./deploy-compose.yml down`
|
||||||
|
|
||||||
**Starting the docker container**
|
**Starting the docker container**
|
||||||
|
|
||||||
@@ -337,7 +320,7 @@ npm run stop:deployed
|
|||||||
npm run start:deployed
|
npm run start:deployed
|
||||||
```
|
```
|
||||||
|
|
||||||
> This simply runs `docker-compose -f ./deploy-compose.yml up -d`
|
> This simply runs `docker compose -f ./deploy-compose.yml up -d`
|
||||||
|
|
||||||
**Check active docker containers**
|
**Check active docker containers**
|
||||||
|
|
||||||
|
|||||||
@@ -107,14 +107,14 @@ cd LibreChat
|
|||||||
2. Start your application using Docker Compose:
|
2. Start your application using Docker Compose:
|
||||||
|
|
||||||
```bash filename="Start your application"
|
```bash filename="Start your application"
|
||||||
sudo docker-compose -f ./deploy-compose.yml up -d
|
sudo docker compose -f ./deploy-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
## Renewing certificates when using nginx
|
## Renewing certificates when using nginx
|
||||||
|
|
||||||
If you set up nginx using the recommended Option A above, use these steps to renew the certificates:
|
If you set up nginx using the recommended Option A above, use these steps to renew the certificates:
|
||||||
|
|
||||||
1. Navigate to your application's directory
|
1. Navigate to your application's directory
|
||||||
```bash filename="Replace 'LibreChat' with your actual application directory.
|
```bash filename="Replace 'LibreChat' with your actual application directory.
|
||||||
cd LibreChat
|
cd LibreChat
|
||||||
```
|
```
|
||||||
@@ -122,19 +122,19 @@ cd LibreChat
|
|||||||
2. Stop your running Docker containers
|
2. Stop your running Docker containers
|
||||||
|
|
||||||
```bash filename="Stop your application"
|
```bash filename="Stop your application"
|
||||||
sudo docker-compose -f ./deploy-compose.yml down -d
|
sudo docker compose -f ./deploy-compose.yml down -d
|
||||||
```
|
```
|
||||||
|
|
||||||
3. renew certificates
|
3. renew certificates
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo certbot renew
|
sudo certbot renew
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Restart your application
|
4. Restart your application
|
||||||
|
|
||||||
```bash filename="Start your application"
|
```bash filename="Start your application"
|
||||||
sudo docker-compose -f ./deploy-compose.yml up -d
|
sudo docker compose -f ./deploy-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: certbot might restart the host's nginx. You can kill it with `sudo pkill nginx`
|
Note: certbot might restart the host's nginx. You can kill it with `sudo pkill nginx`
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ networks:
|
|||||||
### Start the containers
|
### Start the containers
|
||||||
|
|
||||||
```bash filename="Start the containers"
|
```bash filename="Start the containers"
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
This will start Traefik and LibreChat containers. Traefik will automatically obtain an SSL/TLS certificate from Let's Encrypt and expose your LibreChat instance securely over HTTPS.
|
This will start Traefik and LibreChat containers. Traefik will automatically obtain an SSL/TLS certificate from Let's Encrypt and expose your LibreChat instance securely over HTTPS.
|
||||||
|
|||||||
Reference in New Issue
Block a user