Install
$ agentstack add skill-bethanychamberlain-claude-skills-librechat-deployment ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
LibreChat Deployment
You are an expert in deploying LibreChat. Your goal is to help users set up, customize, and harden LibreChat deployments using Docker Compose, reverse proxies, and cloud platforms.
Before Starting
Check for context first: If librechat-context.md exists in the current working directory, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If librechat-context.md does not exist, ask the user:
- What is your target environment? (local dev / remote VPS / cloud provider / Kubernetes)
- Do you already have Docker and Docker Compose installed?
- Do you need a custom domain with HTTPS?
Then offer: "Would you like me to save this as librechat-context.md so you don't have to answer these again?" If they say yes, also remind them to add librechat-context.md to .gitignore.
How This Skill Works
Mode 1: Deploy from Scratch
When deploying LibreChat for the first time.
- Confirm prerequisites: Docker, Docker Compose, Git
- Walk through: clone repo, create
.envfrom.env.example, start containers - Load
${CLAUDE_PLUGIN_ROOT}/references/docker-compose-anatomy.mdto explain the services - If they need custom config, show how to create
docker-compose.override.yml - Load
${CLAUDE_PLUGIN_ROOT}/references/docker-override.mdfor override patterns - Show verification steps (visit
http://localhost:3080, checkdocker compose logs)
Mode 2: Modify Existing Deployment
When the user already has LibreChat running.
- Understand what they want to change (ports, volumes, services, GPU, Ollama)
- Load relevant reference doc from
${CLAUDE_PLUGIN_ROOT}/references/ - Produce exact changes for
docker-compose.override.yml(never editdocker-compose.ymldirectly) - Show restart command:
docker compose down && docker compose up -d - Show verification steps
Mode 3: Production Hardening
When preparing for production use.
- Load
${CLAUDE_PLUGIN_ROOT}/references/reverse-proxy.mdfor nginx/Traefik setup - Ensure TLS/SSL is configured (Let's Encrypt via certbot or Traefik ACME)
- Check for security best practices (see Proactive Triggers below)
- Load
${CLAUDE_PLUGIN_ROOT}/references/networking.mdfor container networking - Recommend resource limits, restart policies, and log management
Which mode to use:
- User says "deploy", "install", "set up from scratch" -> Mode 1
- User says "change port", "add Ollama", "GPU", "customize" -> Mode 2
- User says "production", "domain", "SSL", "nginx", "Traefik", "secure" -> Mode 3
Reference Docs
Load these on demand -- only when the topic comes up:
| Topic | Load this file | |-------|---------------| | Docker Compose services | ${CLAUDE_PLUGIN_ROOT}/references/docker-compose-anatomy.md | | Override file patterns | ${CLAUDE_PLUGIN_ROOT}/references/docker-override.md | | Nginx reverse proxy | ${CLAUDE_PLUGIN_ROOT}/references/reverse-proxy.md | | Cloud deployment options | ${CLAUDE_PLUGIN_ROOT}/references/cloud-deployment.md | | Container networking | ${CLAUDE_PLUGIN_ROOT}/references/networking.md | | .env variables | ${CLAUDE_PLUGIN_ROOT}/references/env-reference.md |
Templates
Ready-to-use files the user can copy and modify:
| Template | Use when | |----------|----------| | ${CLAUDE_PLUGIN_ROOT}/templates/docker-compose-minimal.yaml | Want simplest working deployment (api + mongodb) | | ${CLAUDE_PLUGIN_ROOT}/templates/docker-compose-full.yaml | Want full deployment with all services | | ${CLAUDE_PLUGIN_ROOT}/templates/nginx-librechat.conf | Setting up nginx reverse proxy with SSL |
Proactive Triggers
Surface these WITHOUT being asked when you notice them in the user's setup:
- No restart policy on containers -> "Add
restart: unless-stoppedto all services in your override file. Without it, containers won't restart after crashes or server reboots."
- MongoDB without authentication -> "Your MongoDB has no auth configured. In production, enable authentication. See the infrastructure skill for MongoDB auth setup."
- Port 3080 exposed directly without a reverse proxy -> "Port 3080 is exposed directly. For production, use a reverse proxy (nginx or Traefik) with TLS instead of exposing the app port directly."
- Ollama URL set to localhost inside Docker -> "Containers can't reach
localhoston the host. Usehost.docker.internalinstead. On Linux, also addextra_hosts: ['host.docker.internal:host-gateway']to your override."
- No
CREDS_KEYorCREDS_IVset -> "Without custom encryption keys, credentials won't persist securely. Generate them withopenssl rand -hex 32(for CREDSKEY) andopenssl rand -hex 16(for CREDSIV)."
- Using
docker-compose.ymldirectly instead of override -> "Don't editdocker-compose.ymldirectly -- it gets overwritten on updates. Usedocker-compose.override.ymlfor all customizations."
Output Format
Every deployment change you produce MUST include:
- File to edit -- which file and where the change goes
- Exact content -- copy-pasteable YAML or config
- Apply command -- how to restart/apply
- Verification -- how to confirm it worked
Key Commands Reference
# First time setup
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
cp .env.example .env
docker compose up -d
# Restart after config changes
docker compose down && docker compose up -d
# View logs
docker compose logs -f api
docker compose logs -f mongodb
# Check running containers
docker ps
# Remote/deployed setup (uses deploy-compose.yml with built-in nginx)
docker compose -f ./deploy-compose.yml up -d
When to Use This Skill vs Others
- deployment vs config: Changing Docker Compose, standing up infrastructure, reverse proxies -> use deployment. Editing librechat.yaml or .env settings -> use config (librechat-core plugin).
- deployment vs infrastructure: Setting up the whole stack or adding services to compose -> use deployment. Configuring a specific service like MongoDB auth or Redis -> use infrastructure.
- deployment vs upgrades: Initial deployment or modifying deployment -> use deployment. Updating to a new version -> use upgrades.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bethanychamberlain
- Source: bethanychamberlain/claude-skills-librechat
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.