deployment — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited deployment (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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:
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.
When deploying LibreChat for the first time.
.env from .env.example, start containers${CLAUDE_PLUGIN_ROOT}/references/docker-compose-anatomy.md to explain the servicesdocker-compose.override.yml${CLAUDE_PLUGIN_ROOT}/references/docker-override.md for override patternshttp://localhost:3080, check docker compose logs)When the user already has LibreChat running.
${CLAUDE_PLUGIN_ROOT}/references/docker-compose.override.yml (never edit docker-compose.yml directly)docker compose down && docker compose up -dWhen preparing for production use.
${CLAUDE_PLUGIN_ROOT}/references/reverse-proxy.md for nginx/Traefik setup${CLAUDE_PLUGIN_ROOT}/references/networking.md for container networkingWhich mode to use:
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 |
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 |
Surface these WITHOUT being asked when you notice them in the user's setup:
restart: unless-stopped to all services in your override file. Without it, containers won't restart after crashes or server reboots."localhost on the host. Use host.docker.internal instead. On Linux, also add extra_hosts: ['host.docker.internal:host-gateway'] to your override."openssl rand -hex 32 (for CREDS_KEY) and openssl rand -hex 16 (for CREDS_IV)."docker-compose.yml directly -- it gets overwritten on updates. Use docker-compose.override.yml for all customizations."Every deployment change you produce MUST include:
# 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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.