logos-messaging-simulator/docker-compose.yml
2023-08-17 16:01:17 +00:00

443 lines
12 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: "3.7"
services:
# TODO: disable relay and make it just bootstrap? discv5
bootstrap:
image: ${NWAKU_IMAGE}
restart: on-failure
# TODO: expose some ports to inject traffic
ports:
- 127.0.0.1:60000:60000
- 127.0.0.1:8008:8008
- 127.0.0.1:9000:9000
- 127.0.0.1:8545:8545
entrypoint: sh
command:
- '/opt/run_bootstrap.sh'
volumes:
- ./run_bootstrap.sh:/opt/run_bootstrap.sh:Z
nwaku_1:
container_name: waku-simulator_nwaku_1
environment:
REPLICA: 1
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_2:
container_name: waku-simulator_nwaku_2
environment:
REPLICA: 2
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_3:
container_name: waku-simulator_nwaku_3
environment:
REPLICA: 3
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_4:
container_name: waku-simulator_nwaku_4
environment:
REPLICA: 4
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_5:
container_name: waku-simulator_nwaku_5
environment:
REPLICA: 5
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_6:
container_name: waku-simulator_nwaku_6
environment:
REPLICA: 6
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_7:
container_name: waku-simulator_nwaku_7
environment:
REPLICA: 7
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_8:
container_name: waku-simulator_nwaku_8
environment:
REPLICA: 8
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_9:
container_name: waku-simulator_nwaku_9
environment:
REPLICA: 9
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_10:
container_name: waku-simulator_nwaku_10
environment:
REPLICA: 10
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_11:
container_name: waku-simulator_nwaku_11
environment:
REPLICA: 11
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_12:
container_name: waku-simulator_nwaku_12
environment:
REPLICA: 12
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_13:
container_name: waku-simulator_nwaku_13
environment:
REPLICA: 13
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_14:
container_name: waku-simulator_nwaku_14
environment:
REPLICA: 14
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_15:
container_name: waku-simulator_nwaku_15
environment:
REPLICA: 15
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_16:
container_name: waku-simulator_nwaku_16
environment:
REPLICA: 16
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_17:
container_name: waku-simulator_nwaku_17
environment:
REPLICA: 17
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_18:
container_name: waku-simulator_nwaku_18
environment:
REPLICA: 18
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_19:
container_name: waku-simulator_nwaku_19
environment:
REPLICA: 19
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
nwaku_20:
container_name: waku-simulator_nwaku_20
environment:
REPLICA: 20
image: ${NWAKU_IMAGE}
restart: on-failure
entrypoint: sh
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- ./rlnKeystore.json:/rlnKeystore.json:Z
# - ./rln_tree.db:/rln_tree.db:Z # this should not be done as its being written by all the replicas
depends_on:
- bootstrap
# rpc-traffic:
# build: .
# #context: ./
# #dockerfile: Dockerfile
# restart: "no"
# depends_on:
# - nwaku
# command:
# - --node=http://bootstrap:8545
# - --msg-size-kbyte=10
gowaku:
image: ${GOWAKU_IMAGE}
restart: on-failure
deploy:
replicas: ${NUM_GOWAKU_NODES}
entrypoint: sh
command:
- '/opt/run_gowaku.sh'
volumes:
- ./run_gowaku.sh:/opt/run_gowaku.sh:Z
depends_on:
- bootstrap
# waku-publisher:
# image: alrevuelta/waku-publisher:9fb206c
# entrypoint: sh
# - 'opt/run_wakupublisher.sh'
# volumes:
# - ./run_wakupublisher.sh:/opt/run_wakupublisher.sh:Z
# environment:
# MSG_PER_SECOND: 10
# MSG_SIZE_KBYTES: 10
prometheus:
image: prom/prometheus:latest
volumes:
- ./monitoring/prometheus-config.yml:/etc/prometheus/prometheus.yml:z
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.retention.time=7d
ports:
- 127.0.0.1:9090:9090
restart: on-failure
grafana:
image: grafana/grafana:latest
env_file:
- ./monitoring/configuration/grafana-plugins.env
volumes:
- ./monitoring/configuration/grafana.ini:/etc/grafana/grafana.ini:z
- ./monitoring/configuration/dashboards.yaml:/etc/grafana/provisioning/dashboards/dashboards.yaml:z
- ./monitoring/configuration/datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml:z
- ./monitoring/configuration/dashboards:/var/lib/grafana/dashboards/:z
- ./monitoring/configuration/customizations/custom-logo.svg:/usr/share/grafana/public/img/grafana_icon.svg:z
- ./monitoring/configuration/customizations/custom-logo.svg:/usr/share/grafana/public/img/grafana_typelogo.svg:z
- ./monitoring/configuration/customizations/custom-logo.png:/usr/share/grafana/public/img/fav32.png:z
ports:
#- 127.0.0.1:3000:3000
# open port to access the dashboard
- 3000:3000
restart: on-failure
depends_on:
- prometheus
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
#ports:
# - 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
#ports:
# - 6379:6379