Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pages/docs/configuration/_meta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ export default {
azure: 'Azure OpenAI',
docker_override: 'Docker Override',
mod_system: 'Automated Moderation',
banner: 'Banner',
}
104 changes: 104 additions & 0 deletions pages/docs/configuration/banner.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
title: Banner
description: Display announcements and notices to your users
---

# 📢 Banner

Display important messages to all your users at the top of the app. Perfect for announcements, maintenance notices, or updates.

<Callout type="info" title="Quick Overview">
- Only **one banner** can be active at a time
- Schedule banners to appear and disappear automatically
- Choose whether users can dismiss the banner or not
- Show banners to everyone, or only logged-in users
</Callout>

---

## Creating a Banner

Run this command to create or update a banner:

```bash
npm run update-banner
```

You'll be guided through a few simple prompts:

```ansi
--------------------------
Update the banner!
--------------------------
Display From (Format: yyyy-mm-ddTHH:MM:SSZ, Default: now):
> 2025-12-02T09:00:00Z

Display To (Format: yyyy-mm-ddTHH:MM:SSZ, Default: not specified):
> 2025-12-31T23:59:59Z

Enter your message (Enter a single dot "." on a new line to finish):
> 🎉 Welcome to LibreChat! Check out our new features.
> .

Is public (y/N):
> n

Is persistable (cannot be dismissed) (y/N):
> n
```

<Callout type="tip" title="What do these options mean?">
- **Display From/To**: When the banner should appear and disappear. Leave empty for "now" and "forever"
- **Is public**: Show to visitors who aren't logged in (like on the login page)
- **Is persistable**: If yes, users can't dismiss the banner — use for important notices
</Callout>

---

## Deleting a Banner

```bash
npm run delete-banner
```

You'll see the current banner and be asked to confirm before deleting.

---

## Example Banners

<Tabs items={['Welcome Message', 'Maintenance Notice', 'Security Alert']}>
<Tabs.Tab>
A simple welcome message that users can dismiss:

```bash
npm run update-banner "" "" "👋 Welcome to LibreChat!" "false" "false"
```
</Tabs.Tab>
<Tabs.Tab>
A scheduled maintenance notice that can't be dismissed:

```bash
npm run update-banner "2025-12-20T00:00:00Z" "2025-12-21T06:00:00Z" "⚠️ Scheduled maintenance on Dec 20th, 2-6 AM UTC" "true" "true"
```
</Tabs.Tab>
<Tabs.Tab>
An urgent security notice visible to everyone:

```bash
npm run update-banner "" "" "🔒 Please update your password by January 1st" "true" "true"
```
</Tabs.Tab>
</Tabs>

---

## Date Format

Use this format for dates: `yyyy-mm-ddTHH:MM:SSZ`

**Examples:**
- `2025-12-25T09:00:00Z` → December 25, 2025 at 9:00 AM (UTC)
- `2025-01-01T00:00:00Z` → January 1, 2025 at midnight (UTC)

Leave the date empty to use the current time or no end date.
Empty file added tsconfig.tsbuildinfo
Empty file.