123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- services:
- es01:
- container_name: yusys-rag-es-01
- image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
- volumes:
- - esdata01:/usr/share/elasticsearch/data
- ports:
- - ${ES_PORT}:9200
- environment:
- - node.name=es01
- - ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- - bootstrap.memory_lock=false
- - discovery.type=single-node
- - xpack.security.enabled=true
- - xpack.security.http.ssl.enabled=false
- - xpack.security.transport.ssl.enabled=false
- - TZ=${TIMEZONE}
- mem_limit: ${MEM_LIMIT}
- ulimits:
- memlock:
- soft: -1
- hard: -1
- healthcheck:
- test: ["CMD-SHELL", "curl http://localhost:9200"]
- interval: 10s
- timeout: 10s
- retries: 120
- networks:
- - yusys-rag
- restart: always
- mysql:
- image: docker.byai.uk/library/mysql:5.7.44
- container_name: yusys-rag-mysql
- environment:
- - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
- - TZ=${TIMEZONE}
- command:
- --max_connections=1000
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --tls_version="TLSv1.2,TLSv1.3"
- --init-file /data/application/init.sql
- ports:
- - ${MYSQL_PORT}:3306
- volumes:
- - mysql_data:/var/lib/mysql
- - ./init.sql:/data/application/init.sql
- networks:
- - yusys-rag
- healthcheck:
- test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-p${MYSQL_PASSWORD}"]
- interval: 10s
- timeout: 10s
- retries: 3
- restart: always
- minio:
- image: quay.io/minio/minio:RELEASE.2024-09-22T00-33-43Z
- container_name: yusys-rag-minio
- command: server --console-address ":9001" /data
- ports:
- - ${MINIO_PORT}:9000
- - ${MINIO_CONSOLE_PORT}:9001
- environment:
- - MINIO_ROOT_USER=${MINIO_USER}
- - MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}
- - TZ=${TIMEZONE}
- volumes:
- - minio_data:/data
- networks:
- - yusys-rag
- restart: always
- redis:
- image: docker.byai.uk/library/redis:7.2.4
- container_name: yusys-rag-redis
- command: redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 128mb --maxmemory-policy allkeys-lru
- ports:
- - ${REDIS_PORT}:6379
- volumes:
- - redis_data:/data
- networks:
- - yusys-rag
- restart: always
- gotenberg:
- image: docker.byai.uk/gotenberg/gotenberg:8.9.1
- command:
- - gotenberg
- - '--api-port=3000'
- - '--api-timeout=60s'
- - '--api-disable-health-check-logging'
- - '--libreoffice-restart-after=10'
- - '--libreoffice-auto-start'
- - '--libreoffice-start-timeout=10s'
- - '--libreoffice-max-queue-size=50'
- - '--gotenberg-graceful-shutdown-duration=30s'
- expose:
- - "3000"
- deploy:
- replicas: 2
- endpoint_mode: dnsrr
- healthcheck:
- test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
- interval: 10s
- timeout: 1s
- retries: 3
- user: "1001"
- networks:
- - yusys-rag
- restart: always
- unstructured-api:
- image: downloads.unstructured.io/unstructured-io/unstructured-api:0.0.80
- expose:
- - "8000"
- volumes:
- - ./huggingface:/home/notebook-user/.cache/huggingface
- deploy:
- replicas: 4
- endpoint_mode: dnsrr
- networks:
- - yusys-rag
- restart: always
- llm-infinity:
- image: docker.byai.uk/michaelf34/infinity:0.0.55
- container_name: yusys-rag-infinity
- command: ["v2"]
- environment:
- - HF_ENDPOINT=https://hf-mirror.com
- - INFINITY_PORT=8781
- - INFINITY_MODEL_ID=BAAI/bge-reranker-v2-m3;BAAI/bge-large-zh;
- ports:
- - "8781:8781"
- volumes:
- - ./huggingface:/app/.cache/huggingface
- deploy:
- resources:
- reservations:
- devices:
- - driver: nvidia
- device_ids: ['4']
- # count: all
- capabilities: [gpu]
- networks:
- - yusys-rag
- restart: always
- doc-parser:
- image: 192.168.107.2:5000/yusyscloud/llm-doc-parser:dev-32
- container_name: yusys-rag-doc
- environment:
- - UNSTRUCTURED_API_URL=http://unstructured-api:8000/general/v0/general
- - SPLIT_PDF_CONCURRENCY_LEVEL=15
- ports:
- - "8023:8023"
- volumes:
- - ./huggingface:/root/.cache/huggingface
- deploy:
- resources:
- reservations:
- devices:
- - driver: nvidia
- device_ids: ['4']
- #count: all
- capabilities: [gpu]
- networks:
- - yusys-rag
- restart: always
- volumes:
- esdata01:
- driver: local
- mysql_data:
- driver: local
- minio_data:
- driver: local
- redis_data:
- driver: local
- networks:
- yusys-rag:
- driver: bridge
|