Files
weiyu/deploy/docker/docker-compose-middleware.yaml

120 lines
3.0 KiB
YAML
Raw Normal View History

services:
bytedesk-mysql:
image: mysql:latest
container_name: mysql-bytedesk
environment:
MYSQL_DATABASE: bytedesk
MYSQL_ROOT_PASSWORD: r8FqfdbWUaN3
ports:
- "13306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- bytedesk-network
bytedesk-redis:
image: redis/redis-stack-server:latest
container_name: redis-bytedesk
ports:
- "16379:6379"
environment:
- REDIS_ARGS=--requirepass qfRxz3tVT8Nh
volumes:
- redis_data:/data
networks:
- bytedesk-network
healthcheck:
test: ["CMD", "redis-cli", "-a", "qfRxz3tVT8Nh", "ping"]
interval: 10s
timeout: 5s
retries: 5
# ActiveMQ Artemis 消息队列
# http://localhost:18161/console使用 admin/admin 作为登录凭据
bytedesk-artemis:
image: apache/activemq-artemis:latest
container_name: artemis-bytedesk
environment:
- ARTEMIS_USER=admin
- ARTEMIS_PASSWORD=admin
- ANONYMOUS_LOGIN=false
- EXTRA_ARGS=--http-host 0.0.0.0 --relax-jolokia
ports:
- "16161:61616" # JMS
- "16162:61617" # AMQP
- "18161:8161" # Web Console
- "15672:5672" # AMQP
- "16163:61613" # STOMP
- "11883:1883" # MQTT
volumes:
- artemis_data:/var/lib/artemis/data
networks:
- bytedesk-network
healthcheck:
test: ["CMD", "curl", "--fail", "-u", "admin:admin", "http://localhost:8161/console/jolokia/"]
interval: 30s
timeout: 10s
retries: 5
bytedesk-ollama:
image: ollama/ollama:latest
container_name: ollama-bytedesk
ports:
- "21434:11434"
volumes:
- ollama_models:/root/.ollama
environment:
- OLLAMA_MODELS=qwen3:0.6b
networks:
- bytedesk-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:11434/api/version"]
interval: 30s
timeout: 10s
retries: 5
# ElasticSearch 向量数据库
bytedesk-elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.18.0
container_name: elasticsearch-bytedesk
environment:
- node.name=bytedesk-es01
- cluster.name=bytedesk-es-cluster
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=true
- ELASTIC_PASSWORD=bytedesk123
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
ports:
- "19200:9200"
- "19300:9300"
networks:
- bytedesk-network
healthcheck:
test: ["CMD-SHELL", "curl -s -f http://localhost:9200/_cluster/health?wait_for_status=yellow || exit 1"]
interval: 30s
timeout: 10s
retries: 5
volumes:
mysql_data:
name: bytedesk_mysql_data
redis_data:
name: bytedesk_redis_data
ollama_models:
name: bytedesk_ollama_models
elasticsearch_data:
name: bytedesk_elasticsearch_data
artemis_data:
name: bytedesk_artemis_data
networks:
bytedesk-network:
driver: bridge