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:
Marco Beretta
2026-03-01 15:08:36 +01:00
committed by GitHub
parent 6a2bec020b
commit 7e2a3a460d
9 changed files with 96 additions and 47 deletions

View File

@@ -38,9 +38,8 @@ const hero: Feature = {
icon: Cable,
title: 'Model Context Protocol',
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',
tag: 'Official MCP Client',
}
const highlights: Feature[] = [

View File

@@ -1,5 +1,15 @@
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'
function DockerLogo(props: ComponentProps<'svg'>) {
@@ -213,6 +223,63 @@ export function QuickStartHub() {
</Link>
</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 */}
<section aria-labelledby="resources-heading">
<div className="flex items-center gap-3 mb-4">

View File

@@ -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):
```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)):
@@ -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):
```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)):

View File

@@ -81,7 +81,7 @@ This script resets the synchronization flags in MongoDB, which will trigger Libr
npm run reset-meili-sync
# 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 exec -it LibreChat-API /bin/sh -c "cd .. && npm run reset-meili-sync"

View File

@@ -114,7 +114,7 @@ You can manually add or set user balances. This is especially useful during deve
npm run add-balance
# Docker (default setup)
docker-compose exec api npm run add-balance
docker compose exec api npm run add-balance
# Docker (deployment setup)
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
# 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 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
# Docker (default setup)
docker-compose exec api npm run set-balance
docker compose exec api npm run set-balance
# Docker (deployment setup)
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
# 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 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
# Docker (default setup)
docker-compose exec api npm run list-balances
docker compose exec api npm run list-balances
# Docker (deployment setup)
docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run list-balances"

View File

@@ -386,17 +386,17 @@ Choose the appropriate command based on your deployment method:
**Preview changes (dry run):**
```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:**
```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):**
```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)):

View File

@@ -112,38 +112,21 @@ You should see an output that says **active (running)** for status.
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.
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:
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/):
```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
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.
```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.
> 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.
### **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
```bash
sudo docker-compose -f ./deploy-compose.yml up -d
sudo docker compose -f ./deploy-compose.yml up -d
```
![image](https://github.com/danny-avila/LibreChat/assets/110412045/5e2f6627-8ca4-4fa3-be73-481539532ee7)
@@ -329,7 +312,7 @@ npm run update: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**
@@ -337,7 +320,7 @@ npm run stop: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**

View File

@@ -107,14 +107,14 @@ cd LibreChat
2. Start your application using Docker Compose:
```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
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.
cd LibreChat
```
@@ -122,19 +122,19 @@ cd LibreChat
2. Stop your running Docker containers
```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
```bash
```bash
sudo certbot renew
```
4. Restart your application
4. Restart 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`

View File

@@ -69,7 +69,7 @@ networks:
### 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.