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, 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[] = [

View File

@@ -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">

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

View File

@@ -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"

View File

@@ -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"

View File

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

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. 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
``` ```
![image](https://github.com/danny-avila/LibreChat/assets/110412045/5e2f6627-8ca4-4fa3-be73-481539532ee7) ![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 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**

View File

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

View File

@@ -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.