134 lines
3.3 KiB
YAML
134 lines
3.3 KiB
YAML
# Aily - Dify AI 引擎
|
|
# 使用方式: docker compose -f docker/docker-compose.dify.yml up -d
|
|
# 注意: 需要先启动基础设施 (docker-compose.yml)
|
|
|
|
services:
|
|
dify-api:
|
|
image: langgenius/dify-api:latest
|
|
container_name: aily-dify-api
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5001:5001"
|
|
environment:
|
|
MODE: api
|
|
LOG_LEVEL: INFO
|
|
SECRET_KEY: sk-dify-secret-key-change-in-production
|
|
CONSOLE_WEB_URL: http://localhost:3001
|
|
CONSOLE_API_URL: http://localhost:5001
|
|
SERVICE_API_URL: http://localhost:5001
|
|
APP_WEB_URL: http://localhost:3001
|
|
|
|
# Database (shared with portal)
|
|
DB_USERNAME: ${POSTGRES_USER:-aily}
|
|
DB_PASSWORD: ${POSTGRES_PASSWORD:-aily}
|
|
DB_HOST: aily-postgres
|
|
DB_PORT: 5432
|
|
DB_DATABASE: dify
|
|
|
|
# Redis
|
|
REDIS_HOST: aily-redis
|
|
REDIS_PORT: 6379
|
|
REDIS_DB: 1
|
|
|
|
# Storage
|
|
STORAGE_TYPE: s3
|
|
S3_ENDPOINT: http://aily-minio:9000
|
|
S3_BUCKET_NAME: dify-storage
|
|
S3_ACCESS_KEY: ${MINIO_ROOT_USER:-minioadmin}
|
|
S3_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
|
S3_REGION: us-east-1
|
|
S3_USE_AWS_MANAGED_IAM: "false"
|
|
|
|
# Vector store
|
|
VECTOR_STORE: weaviate
|
|
WEAVIATE_ENDPOINT: http://aily-weaviate:8080
|
|
depends_on:
|
|
- dify-sandbox
|
|
- dify-ssrf-proxy
|
|
networks:
|
|
- default
|
|
- aily-net
|
|
|
|
dify-worker:
|
|
image: langgenius/dify-api:latest
|
|
container_name: aily-dify-worker
|
|
restart: unless-stopped
|
|
environment:
|
|
MODE: worker
|
|
LOG_LEVEL: INFO
|
|
SECRET_KEY: sk-dify-secret-key-change-in-production
|
|
|
|
DB_USERNAME: ${POSTGRES_USER:-aily}
|
|
DB_PASSWORD: ${POSTGRES_PASSWORD:-aily}
|
|
DB_HOST: aily-postgres
|
|
DB_PORT: 5432
|
|
DB_DATABASE: dify
|
|
|
|
REDIS_HOST: aily-redis
|
|
REDIS_PORT: 6379
|
|
REDIS_DB: 1
|
|
|
|
STORAGE_TYPE: s3
|
|
S3_ENDPOINT: http://aily-minio:9000
|
|
S3_BUCKET_NAME: dify-storage
|
|
S3_ACCESS_KEY: ${MINIO_ROOT_USER:-minioadmin}
|
|
S3_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
|
S3_REGION: us-east-1
|
|
S3_USE_AWS_MANAGED_IAM: "false"
|
|
|
|
VECTOR_STORE: weaviate
|
|
WEAVIATE_ENDPOINT: http://aily-weaviate:8080
|
|
networks:
|
|
- default
|
|
- aily-net
|
|
|
|
dify-web:
|
|
image: langgenius/dify-web:latest
|
|
container_name: aily-dify-web
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3001:3000"
|
|
environment:
|
|
CONSOLE_API_URL: http://localhost:5001
|
|
APP_API_URL: http://localhost:5001
|
|
|
|
dify-sandbox:
|
|
image: langgenius/dify-sandbox:latest
|
|
container_name: aily-dify-sandbox
|
|
restart: unless-stopped
|
|
environment:
|
|
API_KEY: dify-sandbox-key
|
|
GIN_MODE: release
|
|
WORKER_TIMEOUT: 15
|
|
|
|
dify-ssrf-proxy:
|
|
image: ubuntu/squid:latest
|
|
container_name: aily-dify-ssrf-proxy
|
|
restart: unless-stopped
|
|
|
|
weaviate:
|
|
image: semitechnologies/weaviate:1.19.0
|
|
container_name: aily-weaviate
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8088:8080"
|
|
environment:
|
|
QUERY_DEFAULTS_LIMIT: 25
|
|
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
|
|
DEFAULT_VECTORIZER_MODULE: none
|
|
CLUSTER_HOSTNAME: node1
|
|
PERSISTENCE_DATA_PATH: /var/lib/weaviate
|
|
volumes:
|
|
- weaviatedata:/var/lib/weaviate
|
|
networks:
|
|
- default
|
|
- aily-net
|
|
|
|
volumes:
|
|
weaviatedata:
|
|
|
|
networks:
|
|
aily-net:
|
|
external: true
|
|
name: aily_default
|