复制
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
postgresql:
image: pgvector/pgvector:pg16
container_name: lobe-postgres
restart: unless-stopped
environment:
POSTGRES_DB: lobechat
POSTGRES_USER: lobechat
POSTGRES_PASSWORD: changeme_strong_password
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U lobechat -d lobechat"]
interval: 10s
timeout: 5s
retries: 5
minio:
image: minio/minio
container_name: lobe-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: changeme_minio_password
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
ports:
- "9000:9000"
- "9001:9001"
lobechat:
image: lobehub/lobe-chat-database
container_name: lobe-chat
restart: unless-stopped
depends_on:
postgresql:
condition: service_healthy
ports:
- "3210:3210"
environment:
# 数据库
DATABASE_URL: postgresql://lobechat:changeme_strong_password@postgresql:5432/lobechat
# S3 存储(MinIO)
S3_ENDPOINT: http://minio:9000
S3_BUCKET: lobechat
S3_ACCESS_KEY_ID: minioadmin
S3_SECRET_ACCESS_KEY: changeme_minio_password
S3_PUBLIC_DOMAIN: http://<your-server-ip>:9000
# 认证(NextAuth)
NEXTAUTH_SECRET: your-random-32-char-secret-here
NEXTAUTH_URL: http://<your-server-ip>:3210
# LLM 提供商
OPENAI_API_KEY: sk-your-openai-key
ANTHROPIC_API_KEY: sk-ant-your-key
# 应用
APP_URL: http://<your-server-ip>:3210
volumes:
postgres_data:
minio_data:
EOF