Files
chat/docker/archive/docker-compose.hanzo-clean.yml
T
Zach Kelling 3095f81028 feat: rebrand as Hanzo Chat with zen4 models and OIDC integration
- Replace all LibreChat/danny-avila image refs with hanzoai/chat
- Remove LibreChat branding from UI, emails, docs, and configs
- Configure zen4 model series as defaults via api.hanzo.ai
- Add Hanzo IAM OIDC authentication (hanzo.id)
- Update Docker publish workflow for GHCR + Docker Hub
- Add librechat.yaml with Hanzo Cloud endpoint config
2026-02-19 16:52:55 -08:00

128 lines
3.4 KiB
YAML

# Hanzo AI Chat - Clean Deployment
# Uses external Hanzo API at api.hanzo.ai
version: '3.8'
services:
# MongoDB for Chat History
mongodb:
image: mongo:7-jammy
container_name: hanzo-mongodb
environment:
MONGO_INITDB_ROOT_USERNAME: hanzo
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD:-hanzo123}
MONGO_INITDB_DATABASE: HanzoChat
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
networks:
- hanzo-network
# Meilisearch for Full-Text Search
meilisearch:
image: getmeili/meilisearch:v1.9
container_name: hanzo-meilisearch
environment:
MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:-HanzoMeiliMasterKey}
MEILI_ENV: production
ports:
- "7700:7700"
volumes:
- meilisearch_data:/meili_data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7700/health"]
interval: 10s
timeout: 5s
retries: 5
networks:
- hanzo-network
# Hanzo Chat
chat:
build:
context: .
dockerfile: Dockerfile
target: runtime
image: hanzo/chat:latest
container_name: hanzo-chat
ports:
- "3081:3080"
depends_on:
mongodb:
condition: service_healthy
meilisearch:
condition: service_healthy
environment:
# Server Configuration
HOST: 0.0.0.0
PORT: 3080
# Database
MONGO_URI: mongodb://hanzo:${MONGO_PASSWORD:-hanzo123}@mongodb:27017/HanzoChat?authSource=admin
# Domain
DOMAIN_CLIENT: ${DOMAIN_CLIENT:-http://localhost:3081}
DOMAIN_SERVER: ${DOMAIN_SERVER:-http://localhost:3081}
# Branding
APP_TITLE: "Hanzo AI Chat"
CUSTOM_FOOTER: "Powered by Hanzo AI"
# Hanzo API Configuration
OPENAI_API_KEY: ${OPENAI_API_KEY:-sk-hanzo-master-key}
OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.hanzo.ai/v1}
# Runtime Execution API
CODE_EXECUTION_ENDPOINT: ${CODE_EXECUTION_ENDPOINT:-https://api.hanzo.ai/v1/execute}
# Auth & Security
JWT_SECRET: ${JWT_SECRET:-hanzo-jwt-secret-change-in-production}
JWT_REFRESH_SECRET: ${JWT_REFRESH_SECRET:-hanzo-refresh-secret-change-in-production}
CREDS_KEY: ${CREDS_KEY:-hanzo-creds-key-change-in-production}
CREDS_IV: ${CREDS_IV:-hanzo-creds-iv-change}
# Features
ALLOW_REGISTRATION: ${ALLOW_REGISTRATION:-true}
ALLOW_UNVERIFIED_EMAIL_LOGIN: ${ALLOW_UNVERIFIED_EMAIL_LOGIN:-false}
# Search
MEILI_HOST: http://meilisearch:7700
MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:-HanzoMeiliMasterKey}
# MCP Integration
MCP_ENABLED: true
# Demo Mode (for localhost)
SHOW_DEMO_CREDENTIALS: ${SHOW_DEMO_CREDENTIALS:-true}
DEMO_EMAIL: ${DEMO_EMAIL:-demo@hanzo.ai}
DEMO_INFO: "Register at http://localhost:3081 to get started"
# Logging
DEBUG_LOGGING: ${DEBUG:-false}
volumes:
- ./client/dist/assets:/app/client/dist/assets:ro
- chat_uploads:/app/uploads
- chat_logs:/app/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3080/health"]
interval: 10s
timeout: 5s
retries: 5
networks:
- hanzo-network
volumes:
mongodb_data:
meilisearch_data:
chat_uploads:
chat_logs:
networks:
hanzo-network:
driver: bridge