mirror of
https://github.com/Dokploy/templates.git
synced 2026-06-26 09:35:30 +02:00
110 lines
3.5 KiB
YAML
110 lines
3.5 KiB
YAML
# LibreChat Docker Compose for Dokploy Template
|
|
# Setting up authentication: "npm run create-user", refer to https://www.librechat.ai/docs/configuration/authentication
|
|
|
|
services:
|
|
librechat:
|
|
image: ghcr.io/danny-avila/librechat-dev:latest
|
|
restart: always
|
|
depends_on:
|
|
- mongodb
|
|
- rag_api
|
|
environment:
|
|
# Server Configuration
|
|
- HOST=0.0.0.0
|
|
- PORT=${PORT:-3080}
|
|
# Domain Configuration
|
|
- DOMAIN_CLIENT=${DOMAIN_CLIENT}
|
|
- DOMAIN_SERVER=${DOMAIN_SERVER}
|
|
# Database and Search Configuration
|
|
- MONGO_URI=mongodb://mongodb:27017/LibreChat
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- SEARCH=true
|
|
- NO_INDEX=true
|
|
- MEILI_NO_ANALYTICS=true
|
|
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
|
|
# Security & Sessions
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- JWT_REFRESH_SECRET=${JWT_REFRESH_SECRET}
|
|
- CREDS_KEY=${CREDS_KEY}
|
|
- CREDS_IV=${CREDS_IV}
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
- RAG_API_URL=http://rag_api:${RAG_PORT:-8000}
|
|
# API Keys and Secrets
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- OPENROUTER_KEY=${OPENROUTER_KEY}
|
|
- GOOGLE_KEY=${GOOGLE_KEY}
|
|
- ENDPOINTS=google,openAI,assistants,azureOpenAI,anthropic
|
|
# ... Additional Endpoints
|
|
# UI
|
|
- APP_TITLE=${APP_TITLE:-LibreChat}
|
|
- CUSTOM_FOOTER=${CUSTOM_FOOTER:-Made with ❤️ by LibreChat}
|
|
- ALLOW_EMAIL_LOGIN=${ALLOW_EMAIL_LOGIN:-true}
|
|
- ALLOW_SOCIAL_LOGIN=${ALLOW_SOCIAL_LOGIN:-false}
|
|
- ALLOW_REGISTRATION=${ALLOW_REGISTRATION:-false}
|
|
volumes:
|
|
- type: bind
|
|
source: ../files/librechat.yaml
|
|
target: /app/librechat.yaml
|
|
- librechat_data:/app/client/public/images
|
|
- librechat_data:/app/uploads
|
|
- librechat_data:/app/logs
|
|
|
|
mongodb:
|
|
image: mongo
|
|
restart: always
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
command: mongod --noauth
|
|
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.12.3
|
|
restart: always
|
|
environment:
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- MEILI_NO_ANALYTICS=true
|
|
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
|
|
volumes:
|
|
- meili_data:/meili_data
|
|
|
|
vectordb:
|
|
image: pgvector/pgvector:0.8.0-pg15-trixie
|
|
environment:
|
|
- POSTGRES_DB=${POSTGRES_DB:-mydatabase}
|
|
- POSTGRES_USER=${POSTGRES_USER:-myuser}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-mypassword}
|
|
restart: always
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
rag_api:
|
|
image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest
|
|
environment:
|
|
- DB_HOST=vectordb
|
|
- VECTOR_DB_TYPE=pgvector
|
|
- POSTGRES_DB=${POSTGRES_DB:-mydatabase}
|
|
- POSTGRES_USER=${POSTGRES_USER:-myuser}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-mypassword}
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
- RAG_OPENAI_API_KEY=${RAG_OPENAI_API_KEY}
|
|
- GOOGLE_KEY=${GOOGLE_KEY}
|
|
- RAG_GOOGLE_API_KEY=${RAG_GOOGLE_API_KEY}
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- COLLECTION_NAME=${COLLECTION_NAME:-librechat_collection}
|
|
- CHUNK_SIZE=${CHUNK_SIZE:-1500}
|
|
- CHUNK_OVERLAP=${CHUNK_OVERLAP:-100}
|
|
- EMBEDDINGS_PROVIDER=${EMBEDDINGS_PROVIDER:-openai}
|
|
- EMBEDDINGS_MODEL=${EMBEDDINGS_MODEL:-text-embedding-3-small}
|
|
- DEBUG_RAG_API=false
|
|
- DEBUG_PGVECTOR_QUERIES=false
|
|
- CONSOLE_JSON=false
|
|
restart: always
|
|
depends_on:
|
|
- vectordb
|
|
|
|
volumes:
|
|
mongo_data:
|
|
meili_data:
|
|
postgres_data:
|
|
librechat_data: |