x-logging: &logging logging: driver: json-file options: max-size: 1000m # Environment variable definitions x-rln-relay-eth-client-address: &rln_relay_eth_client_address ${RLN_RELAY_ETH_CLIENT_ADDRESS:-} # Add your RLN_RELAY_ETH_CLIENT_ADDRESS after the "-" x-rln-environment: &rln_env RLN_RELAY_CONTRACT_ADDRESS: ${RLN_RELAY_CONTRACT_ADDRESS:-0xCB33Aa5B38d79E3D9Fa8B10afF38AA201399a7e3} RLN_RELAY_CRED_PATH: ${RLN_RELAY_CRED_PATH:-} # Optional: Add your RLN_RELAY_CRED_PATH after the "-" RLN_RELAY_CRED_PASSWORD: ${RLN_RELAY_CRED_PASSWORD:-} # Optional: Add your RLN_RELAY_CRED_PASSWORD after the "-" x-sonda-env: &sonda_env METRICS_PORT: ${METRICS_PORT:-8004} NODE_REST_ADDRESS: ${NODE_REST_ADDRESS:-"http://nwaku:8645"} CLUSTER_ID: ${CLUSTER_ID:-1} SHARD: ${SHARD:-0} STORE_NODES: ${STORE_NODES:-} QUERY_DELAY: ${QUERY_DELAY-60} HEALTH_THRESHOLD: ${HEALTH_THRESHOLD-5} # Services definitions services: nwaku: image: ${NWAKU_IMAGE:-harbor.status.im/wakuorg/nwaku:deploy-status-prod} container_name: nwaku restart: on-failure ports: - 30304:30304/tcp - 30304:30304/udp - 9005:9005/udp - 127.0.0.1:8003:8003 - 80:80 #Let's Encrypt - 8000:8000/tcp #WSS - 127.0.0.1:8645:8645 <<: - *logging environment: DOMAIN: ${DOMAIN} NODEKEY: ${NODEKEY} RLN_RELAY_CRED_PASSWORD: "${RLN_RELAY_CRED_PASSWORD}" RLN_RELAY_ETH_CLIENT_ADDRESS: *rln_relay_eth_client_address EXTRA_ARGS: ${EXTRA_ARGS} STORAGE_SIZE: ${STORAGE_SIZE} <<: - *rln_env - *sonda_env volumes: - ./run_node.sh:/opt/run_node.sh:Z - ${CERTS_DIR:-./certs}:/etc/letsencrypt/:Z - ./rln_tree:/etc/rln_tree/:Z - ./keystore:/keystore:Z entrypoint: sh command: - /opt/run_node.sh networks: - nwaku-sonda sonda: build: context: . dockerfile: Dockerfile.sonda container_name: sonda ports: - 127.0.0.1:${METRICS_PORT}:${METRICS_PORT} environment: <<: - *sonda_env depends_on: - nwaku networks: - nwaku-sonda prometheus: image: docker.io/prom/prometheus:latest container_name: prometheus volumes: - ./monitoring/prometheus-config.yml:/etc/prometheus/prometheus.yml:Z command: - --config.file=/etc/prometheus/prometheus.yml # ports: # - 127.0.0.1:9090:9090 restart: on-failure:5 depends_on: - nwaku networks: - nwaku-sonda grafana: image: docker.io/grafana/grafana:latest container_name: grafana 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: - 0.0.0.0:3000:3000 restart: on-failure:5 depends_on: - prometheus networks: - nwaku-sonda networks: nwaku-sonda: