Initial commit: GovAI 政务AI平台
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
# 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
|
||||
@@ -0,0 +1,88 @@
|
||||
# Aily - 开发环境基础设施
|
||||
# 使用方式: docker compose -f docker/docker-compose.yml up -d
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: pgvector/pgvector:pg17
|
||||
container_name: aily-postgres
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER:-aily}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-aily}
|
||||
POSTGRES_DB: ${POSTGRES_DB:-aily_portal}
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U aily"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: aily-redis
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
minio:
|
||||
image: minio/minio
|
||||
container_name: aily-minio
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
||||
volumes:
|
||||
- miniodata:/data
|
||||
command: server /data --console-address ":9001"
|
||||
healthcheck:
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
ppt-worker:
|
||||
build:
|
||||
context: ../ppt-worker
|
||||
dockerfile: Dockerfile
|
||||
container_name: aily-ppt-worker
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8090:8090"
|
||||
environment:
|
||||
WORKER_HOST: 0.0.0.0
|
||||
WORKER_PORT: 8090
|
||||
DATABASE_URL: postgres://${POSTGRES_USER:-aily}:${POSTGRES_PASSWORD:-aily}@postgres:5432/${POSTGRES_DB:-aily_portal}?sslmode=disable
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
PPT_MASTER_PATH: /opt/ppt-master
|
||||
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
||||
OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
|
||||
OPENAI_MODEL: ${OPENAI_MODEL:-qwen-max}
|
||||
IMAGE_BACKEND: ${IMAGE_BACKEND:-wanx}
|
||||
WANX_MODEL: ${WANX_MODEL:-wanx-v1}
|
||||
volumes:
|
||||
- ppt-projects:/tmp/govai
|
||||
- ../../ppt-master:/opt/ppt-master:ro
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
redisdata:
|
||||
miniodata:
|
||||
ppt-projects:
|
||||
Reference in New Issue
Block a user