- env vars LIBRECHAT_* -> CHAT_* (USER_ID, GRAPH_ACCESS_TOKEN, OPENID_*, LOG_DIR, ...) - config file librechat.yaml -> chat.yaml (matches prod CONFIG_PATH) + .example - identifiers LibreChat -> Chat (extractChatParams, ChatKeys, ChatParams, importChatConvo) - lowercase librechat -> chat: i18n keys, helm charts (helm/chat, helm/chat-rag-api), CI workflows, OTel service/span keys, codeapi JWT issuer, x-chat-thread-id header - README.md rewritten (Node 24, pnpm 10, Zen family, Cloud Agents, hanzo.id OIDC); README.zh.md added (Simplified Chinese) MIT LICENSE copyright + one 'Forked from LibreChat (MIT)' attribution retained. Build 5/5 green.
89 lines
2.2 KiB
YAML
89 lines
2.2 KiB
YAML
services:
|
|
api:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: Dockerfile.multi
|
|
# target: api-build
|
|
image: ghcr.io/hanzoai/chat:latest
|
|
container_name: HanzoChat-API
|
|
ports:
|
|
- 3080:3080
|
|
depends_on:
|
|
- mongodb
|
|
- rag_api
|
|
restart: always
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- HOST=0.0.0.0
|
|
- NODE_ENV=production
|
|
- MONGO_URI=mongodb://mongodb:27017/HanzoChat
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
- RAG_API_URL=http://rag_api:${RAG_PORT:-8000}
|
|
volumes:
|
|
- type: bind
|
|
source: ./chat.yaml
|
|
target: /app/chat.yaml
|
|
- ./images:/app/client/public/images
|
|
- ./uploads:/app/uploads
|
|
- ./logs:/app/api/logs
|
|
|
|
client:
|
|
image: ghcr.io/hanzoai/static:0.4.1
|
|
container_name: HanzoChat-Static
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
depends_on:
|
|
- api
|
|
restart: always
|
|
volumes:
|
|
- ./client/nginx.conf:/etc/static/default.conf
|
|
mongodb:
|
|
container_name: chat-mongodb
|
|
# ports: # Uncomment this to access mongodb from outside docker, not safe in deployment
|
|
# - 27018:27017
|
|
image: mongo:8.0.17
|
|
restart: always
|
|
volumes:
|
|
- ./data-node:/data/db
|
|
command: mongod --noauth
|
|
meilisearch:
|
|
container_name: chat-meilisearch
|
|
image: getmeili/meilisearch:v1.35.1
|
|
restart: always
|
|
# ports: # Uncomment this to access meilisearch from outside docker
|
|
# - 7700:7700 # if exposing these ports, make sure your master key is not the default value
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- MEILI_NO_ANALYTICS=true
|
|
volumes:
|
|
- ./meili_data_v1.35.1:/meili_data
|
|
vectordb:
|
|
image: pgvector/pgvector:0.8.0-pg15-trixie
|
|
environment:
|
|
POSTGRES_DB: mydatabase
|
|
POSTGRES_USER: myuser
|
|
POSTGRES_PASSWORD: mypassword
|
|
restart: always
|
|
volumes:
|
|
- pgdata2:/var/lib/postgresql/data
|
|
rag_api:
|
|
image: ghcr.io/hanzoai/chat-rag-api:v0.7.8
|
|
environment:
|
|
- DB_HOST=vectordb
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
restart: always
|
|
depends_on:
|
|
- vectordb
|
|
env_file:
|
|
- .env
|
|
|
|
volumes:
|
|
pgdata2:
|