Files
weiyu/deploy/docker/docker-compose-middleware.yaml
2025-05-17 10:43:37 +08:00

120 lines
3.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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