version: '3.4' networks: firstsubnet: external: false driver: bridge ipam: driver: default config: - subnet: 192.168.111.0/24 secondsubnet: external: false driver: bridge ipam: driver: default config: - subnet: 192.168.222.0/24 thirdsubnet: external: false driver: bridge ipam: driver: default config: - subnet: 192.168.123.0/24 services: ## Producers ### Producer group 1 #### Producer 1 producer1-1: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.21 - PRODUCER_REDIS=localhost network_mode: "service:producer-redis1-1" depends_on: # - consumer-api1 - producer-redis1-1 producer-endpoint1-1: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis1-1" depends_on: # - consumer-api1 - producer-redis1-1 producer-redis1-1: image: redis restart: unless-stopped networks: firstsubnet: ipv4_address: 192.168.111.11 #### Producer 2 producer1-2: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.21 network_mode: "service:producer-redis1-2" depends_on: # - consumer-api1 - producer-redis1-2 producer-endpoint1-2: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis1-2" depends_on: # - consumer-api1 - producer-redis1-2 producer-redis1-2: image: redis restart: unless-stopped networks: firstsubnet: ipv4_address: 192.168.111.10 #### Producer 3 producer1-3: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.21 network_mode: "service:producer-redis1-3" depends_on: # - consumer-api1 - producer-redis1-3 producer-endpoint1-3: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis1-3" depends_on: # - consumer-api1 - producer-redis1-3 producer-redis1-3: image: redis restart: unless-stopped networks: firstsubnet: ipv4_address: 192.168.111.9 ### Producer group 2 #### Producer 1 producer2-1: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.222.22 network_mode: "service:producer-redis2-1" depends_on: # - consumer-api2 - producer-redis2-1 producer-endpoint2-1: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis2-1" depends_on: # - consumer-api2 - producer-redis2-1 producer-redis2-1: image: redis restart: unless-stopped networks: secondsubnet: ipv4_address: 192.168.222.12 #### Producer 2 producer2-2: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.222.22 network_mode: "service:producer-redis2-2" depends_on: # - consumer-api2 - producer-redis2-2 producer-endpoint2-2: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis2-2" depends_on: # - consumer-api2 - producer-redis2-2 producer-redis2-2: image: redis restart: unless-stopped networks: secondsubnet: ipv4_address: 192.168.222.13 #### Producer 3 producer2-3: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.222.22 network_mode: "service:producer-redis2-3" depends_on: # - consumer-api2 - producer-redis2-3 producer-endpoint2-3: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis2-3" depends_on: # - consumer-api2 - producer-redis2-3 producer-redis2-3: image: redis restart: unless-stopped networks: secondsubnet: ipv4_address: 192.168.222.14 ## Producer Group 3 #### Producer 1 producer3-1: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.123.21 - PRODUCER_REDIS=localhost network_mode: "service:producer-redis1-1" depends_on: # - consumer-api1 - producer-redis1-1 producer-endpoint3-1: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis1-1" depends_on: # - consumer-api1 - producer-redis1-1 producer-redis3-1: image: redis restart: unless-stopped networks: thirdsubnet: ipv4_address: 192.168.123.11 #### Producer 2 producer3-2: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.123.21 network_mode: "service:producer-redis1-2" depends_on: # - consumer-api1 - producer-redis1-2 producer-endpoint3-2: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis1-2" depends_on: # - consumer-api1 - producer-redis1-2 producer-redis3-2: image: redis restart: unless-stopped networks: thirdsubnet: ipv4_address: 192.168.123.10 #### Producer 3 producer3-3: image: registry.kmlabz.com/goldenpogacsa/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.123.22 network_mode: "service:producer-redis2-3" depends_on: # - consumer-api2 - producer-redis2-3 producer-endpoint3-3: image: registry.kmlabz.com/goldenpogacsa/producer-endpoint restart: unless-stopped environment: - REDIS_URL=redis://localhost network_mode: "service:producer-redis2-3" depends_on: # - consumer-api2 - producer-redis2-3 producer-redis3-3: image: redis restart: unless-stopped networks: thirdsubnet: ipv4_address: 192.168.123.14 ## Consumer stuff ### Consumer 1 consumer-api1: image: registry.kmlabz.com/goldenpogacsa/consumer-api restart: unless-stopped environment: - REDIS_URL=redis://192.168.111.121/0 - LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54 networks: firstsubnet: ipv4_address: 192.168.111.21 depends_on: - consumer-redis1 consumer-scheduler1: image: registry.kmlabz.com/goldenpogacsa/consumer-scheduler restart: unless-stopped environment: - REDIS_URL=redis://192.168.111.121/0 - INITIAL_SERVERS="[\"192.168.222.22\", \"192.168.222.122\"]" - LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54 network_mode: "service:consumer-api1" depends_on: - consumer-redis1 consumer-redis1: image: redis restart: unless-stopped networks: firstsubnet: ipv4_address: 192.168.111.121 ### Consumer 2 consumer-api2: image: registry.kmlabz.com/goldenpogacsa/consumer-api restart: unless-stopped environment: - REDIS_URL=redis://192.168.222.122/0 - LOCAL_UUID=9e79d4e7-f4c2-44d2-ac11-682f62fda985 networks: secondsubnet: ipv4_address: 192.168.222.22 depends_on: - consumer-redis2 consumer-scheduler2: image: registry.kmlabz.com/goldenpogacsa/consumer-scheduler restart: unless-stopped environment: - REDIS_URL=redis://192.168.222.122/0 - INITIAL_SERVERS="[\"192.168.111.21\", \"192.168.123.21\"]" - LOCAL_UUID=9e79d4e7-f4c2-44d2-ac11-682f62fda985 network_mode: "service:consumer-api2" depends_on: - consumer-redis2 consumer-redis2: image: redis restart: unless-stopped networks: secondsubnet: ipv4_address: 192.168.222.122 ### Consumer 3 consumer-api3: image: registry.kmlabz.com/goldenpogacsa/consumer-api restart: unless-stopped environment: - REDIS_URL=redis://192.168.123.121/0 - LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54 networks: thirdsubnet: ipv4_address: 192.168.123.21 depends_on: - consumer-redis1 consumer-scheduler3: image: registry.kmlabz.com/goldenpogacsa/consumer-scheduler restart: unless-stopped environment: - REDIS_URL=redis://192.168.123.121/0 - INITIAL_SERVERS="[\"192.168.111.21\", \"192.168.222.122\"]" - LOCAL_UUID=d8b2e5e3-f675-4194-9324-af58e4b70c55 network_mode: "service:consumer-api3" depends_on: - consumer-redis1 consumer-redis3: image: redis restart: unless-stopped networks: thirdsubnet: ipv4_address: 192.168.123.121