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