services: namesrv: image: apache/rocketmq:5.3.2 container_name: rmqnamesrv ports: - 9876:9876 networks: - rocketmq command: sh mqnamesrv broker: image: apache/rocketmq:5.3.2 container_name: rmqbroker ports: - 10909:10909 - 10911:10911 - 10912:10912 environment: - NAMESRV_ADDR=rmqnamesrv:9876 depends_on: - namesrv networks: - rocketmq command: sh mqbroker proxy: image: apache/rocketmq:5.3.2 container_name: rmqproxy networks: - rocketmq depends_on: - broker - namesrv ports: - 8080:8080 - 8081:8081 restart: on-failure environment: - NAMESRV_ADDR=rmqnamesrv:9876 command: sh mqproxy redis: image: redis:latest # Or a specific version like redis:6.0.7 container_name: redis command: redis-server /usr/local/etc/redis/redis.conf restart: always ports: - "6379:6379" # Map host port 6379 to container port 6379 volumes: - ./redis/data:/data # Persist Redis data in a named volume - ./redis/conf:/usr/local/etc/redis nacos: image: nacos/nacos-server:latest container_name: nacos-standalone environment: - PREFER_HOST_MODE=hostname - MODE=standalone - NACOS_AUTH_IDENTITY_KEY=serverIdentity - NACOS_AUTH_IDENTITY_VALUE=security - NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= volumes: - ./standalone-logs:/home/nacos/logs ports: - "8082:8080" - "8848:8848" - "9848:9848" prometheus: container_name: prometheus image: prom/prometheus:latest volumes: - ./prometheus:/etc/prometheus ports: - "9090:9090" depends_on: - nacos restart: on-failure grafana: container_name: grafana image: grafana/grafana:latest ports: - "3000:3000" restart: on-failure networks: rocketmq: driver: bridge volumes: redis_data: