102 lines
2.7 KiB
YAML
102 lines
2.7 KiB
YAML
services:
|
|
alfred:
|
|
container_name: alfred-core
|
|
build:
|
|
context: .
|
|
args:
|
|
PYTHON_VERSION: ${PYTHON_VERSION}
|
|
PYTHON_VERSION_SHORT: ${PYTHON_VERSION_SHORT}
|
|
RUNNER: ${RUNNER}
|
|
depends_on:
|
|
- librechat
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# LLM Configuration
|
|
LLM_PROVIDER: ${LLM_PROVIDER:-deepseek}
|
|
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}
|
|
|
|
# Memory storage
|
|
MEMORY_STORAGE_DIR: /data/memory
|
|
|
|
# External services
|
|
TMDB_API_KEY: ${TMDB_API_KEY:-}
|
|
QBITTORRENT_URL: ${QBITTORRENT_URL:-}
|
|
QBITTORRENT_USERNAME: ${QBITTORRENT_USERNAME:-}
|
|
QBITTORRENT_PASSWORD: ${QBITTORRENT_PASSWORD:-}
|
|
volumes:
|
|
- ./data/memory:/data/memory
|
|
- ./logs:/data/logs
|
|
# TODO: Development: mount code for hot reload (comment out in production)
|
|
# - ./alfred:/app/alfred
|
|
|
|
librechat:
|
|
container_name: alfred-librechat
|
|
image: ghcr.io/danny-avila/librechat:${LIBRECHAT_VERSION}
|
|
depends_on:
|
|
- mongodb
|
|
- meilisearch
|
|
- rag_api
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- HOST=0.0.0.0
|
|
- MONGO_URI=mongodb://mongodb:27017/LibreChat
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
- RAG_API_URL=http://rag_api:${RAG_PORT:-8000}
|
|
ports:
|
|
- "${LIBRECHAT_PORT:-3080}:3080"
|
|
volumes:
|
|
- ./data/librechat/images:/app/client/public/images
|
|
- ./data/librechat/uploads:/app/client/uploads
|
|
- ./logs:/app/api/logs
|
|
# Mount custom endpoint
|
|
- ./librechat/manifests:/app/manifests:ro
|
|
- ./librechat/librechat.yaml:/app/librechat.yaml:ro
|
|
|
|
mongodb:
|
|
container_name: alfred-mongodb
|
|
image: mongo:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/mongo:/data/db
|
|
command: mongod --noauth
|
|
|
|
meilisearch:
|
|
container_name: alfred-meilisearch
|
|
image: getmeili/meilisearch:v1.12.3
|
|
restart: unless-stopped
|
|
environment:
|
|
- MEILI_NO_ANALYTICS=true
|
|
volumes:
|
|
- ./data/meili:/meili_data
|
|
#profiles: ["meili", "full"]
|
|
|
|
rag_api:
|
|
container_name: alfred-rag
|
|
image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:${RAG_VERSION}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- DB_HOST=vectordb
|
|
- DB_PORT=5432
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
ports:
|
|
- "${RAG_PORT:-8000}:${RAG_PORT:-8000}"
|
|
#profiles: ["rag", "full"]
|
|
|
|
vectordb:
|
|
container_name: alfred-vectordb
|
|
image: pgvector/pgvector:0.8.1-pg16-bookworm
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "${VECTOR_DB_PORT:-5432}:5432"
|
|
volumes:
|
|
- ./data/vectordb:/var/lib/postgresql/data
|
|
#profiles: ["rag", "full"] |