diff --git a/docker-compose.base.yml b/docker-compose.base.yml index ceeb6ff..2a6368d 100755 --- a/docker-compose.base.yml +++ b/docker-compose.base.yml @@ -105,6 +105,19 @@ services: volumes: - ./config/redis/redis.conf:/usr/local/etc/redis/redis.conf - ./config/redis/redis-local.conf:/usr/local/etc/redis/redis-local.conf + rabbitmq: + image: rabbitmq:3-management + restart: unless-stopped + environment: + RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-guest} + RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:-guest} + volumes: + - rabbitmq:/var/lib/rabbitmq + healthcheck: + test: [ "CMD", "rabbitmq-diagnostics", "-q", "ping" ] + interval: 15s + timeout: 10s + retries: 5 elastic: build: context: ./dockerfiles/elastic diff --git a/docker-compose.rabbitmq.yml.example b/docker-compose.rabbitmq.yml.example new file mode 100644 index 0000000..742d8cb --- /dev/null +++ b/docker-compose.rabbitmq.yml.example @@ -0,0 +1,21 @@ +# Брокер сообщений для платформы синхронизации (Wpstudio.Sync). +# +# Мастер публикует тонкие доменные события из своего outbox, потребители их консюмят +# и дотягивают полный агрегат по REST. Сам сервис уже подключён в docker-compose.yml; +# этот файл — для стендов, где RabbitMQ поднимают отдельно: +# +# dc -f docker-compose.yml -f docker-compose.rabbitmq.yml up -d rabbitmq +# +# Management UI: http://rabbitmq.intai.localhost (через traefik) или :15672 напрямую. +# Логин/пароль задаются в .env: RABBITMQ_USER / RABBITMQ_PASSWORD (по умолчанию guest/guest). +services: + rabbitmq: + extends: + file: docker-compose.base.yml + service: rabbitmq + ports: + - "5672:5672" + - "15672:15672" + +volumes: + rabbitmq: