mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 02:38: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,
|
||||
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[] = [
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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)):
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)):
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||

|
||||
@@ -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**
|
||||
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user