version: '3.4' networks: firstsubnet: external: false driver: bridge ipam: driver: default config: - subnet: 192.168.111.0/24 services: ## Producers ### Producer group 1 #### Producer 1 producer1-1: image: tormachris/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: tormachris/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: tormachris/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: tormachris/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: tormachris/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: tormachris/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: tormachris/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.22 network_mode: "service:producer-redis2-1" depends_on: # - consumer-api2 - producer-redis2-1 producer-endpoint2-1: image: tormachris/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: firstsubnet: ipv4_address: 192.168.111.12 #### Producer 2 producer2-2: image: tormachris/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.22 network_mode: "service:producer-redis2-2" depends_on: # - consumer-api2 - producer-redis2-2 producer-endpoint2-2: image: tormachris/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: firstsubnet: ipv4_address: 192.168.111.13 #### Producer 3 producer2-3: image: tormachris/producer restart: unless-stopped environment: - PRODUCER_KNOWNCONSUMER=192.168.111.22 network_mode: "service:producer-redis2-3" depends_on: # - consumer-api2 - producer-redis2-3 producer-endpoint2-3: image: tormachris/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: firstsubnet: ipv4_address: 192.168.111.14 ## Consumer stuff ### Consumer 1 consumer-api1: image: tormachris/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: tormachris/consumer-scheduler restart: unless-stopped environment: - REDIS_URL=redis://192.168.111.121/0 - INITIAL_SERVERS=192.168.111.22 - 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: tormachris/consumer_api restart: unless-stopped environment: - REDIS_URL=redis://192.168.111.122/0 - LOCAL_UUID=9e79d4e7-f4c2-44d2-ac11-682f62fda985 networks: firstsubnet: ipv4_address: 192.168.111.22 depends_on: - consumer-redis2 consumer-scheduler2: image: tormachris/consumer-scheduler restart: unless-stopped environment: - REDIS_URL=redis://192.168.111.122/0 - INITIAL_SERVERS=192.168.111.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: firstsubnet: ipv4_address: 192.168.111.122