2025-05-14 17:21:07 +08:00
|
|
|
|
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
|
2025-05-17 10:43:28 +08:00
|
|
|
|
|
|
|
|
|
|
# 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
|
2025-05-14 17:21:07 +08:00
|
|
|
|
|
|
|
|
|
|
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
|
2025-05-17 10:43:28 +08:00
|
|
|
|
artemis_data:
|
|
|
|
|
|
name: bytedesk_artemis_data
|
2025-05-14 17:21:07 +08:00
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
|
bytedesk-network:
|
|
|
|
|
|
driver: bridge
|