Installation and usage of the platform

The docker-compose.yml file for configuration of monitoring in the Sandbox mode of the platform

version: '3'
services:
  grafana:
    image: grafana/grafana:latest
    hostname: grafana
    container_name: grafana
    environment:
      GF_SECURITY_ADMIN_USER: 'admin'
      GF_SECURITY_ADMIN_PASSWORD: 'pass'
    restart: always
    ports:
      - 3000:3000
    networks:
      - we-network
    volumes:
      - grafana:/var/lib/grafana
  influxdb:
    image: influxdb
    hostname: influxdb
    container_name: influxdb
    environment:
      - INFLUXDB_DB=influxdb
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=pass
    restart: always
    ports:
      - 8086:8086
    networks:
      - we-network
    volumes:
      - influxdb:/var/lib/influxdb
  nginx-proxy:
    image: nginx:latest
    hostname: nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
    depends_on:
      - frontend
    env_file:
      - ./env/nginx-proxy.env
    volumes:
      - ./configs/nginx.template:/etc/nginx/conf.d/nginx.template
    command: /bin/bash -c "envsubst < /etc/nginx/conf.d/nginx.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
    restart: always
    networks:
      - we-network
  frontend:
    image: wavesenterprise/frontend-app:v1.5.0
    hostname: frontend
    container_name: frontend
    depends_on:
      - data-service
    env_file:
      - ./env/frontend.env
    volumes:
      - ./configs/app.config.json:/usr/share/nginx/html/app.config.json
    restart: always
    networks:
      - we-network
  data-service:
    image: wavesenterprise/data-service:v1.5.0
    hostname: data-service
    container_name: data-service
    depends_on:
      - crawler
    env_file:
      - ./env/data-service.env
    restart: always
    networks:
      - we-network
    entrypoint: /bin/sh -c "/wait-for.sh crawler npm start"
  crawler:
    image: wavesenterprise/crawler2:v1.5.0
    hostname: crawler
    container_name: crawler
    depends_on:
      - auth-service
    env_file:
      - ./env/crawler.env
    restart: always
    networks:
      - we-network
    entrypoint: /bin/sh -c "/wait-for.sh auth-service npm start"
  auth-service:
    image: wavesenterprise/auth-service:v1.5.0
    depends_on:
      - postgres
    hostname: auth-service
    container_name: auth-service
    networks:
      - we-network
    env_file:
      - ./env/auth-service.env
    volumes:
      - ./configs/auth_token.json:/app/tokens.json
      - ./auth-service-keys/jwtRS256.key:/etc/auth-service-keys/jwtRS256.key
      - ./auth-service-keys/jwtRS256.key.pub:/etc/auth-service-keys/jwtRS256.key.pub
    restart: always
    entrypoint: /bin/sh -c "/wait-for.sh postgres npm start"
  postgres: #multiple database with 5 instances ([crawler + DataServ]; [AuthServ]; [node1_Privacy]; [node2_Privacy]; [node3_Privacy];)
    image: postgres:10-alpine
    hostname: postgres
    container_name: postgres
    networks:
      - we-network
    env_file:
      - ./env/postgres.env
    ports:
      - "5432:5432"
    volumes:
      - ./scripts/create-multiple-postgresql-databases.sh:/docker-entrypoint-initdb.d/create-multiple-postgresql-databases.sh
      - node-dbdata:/var/lib/postgresql/data
    restart: always
  node-0:
    image: wavesenterprise/node:v1.5.0
    depends_on:
      - influxdb
    ports:
      - "6862:6862"
      - "6864:6864"
      - "6865:6865"
    networks:
      - we-network
    hostname: node-0
    container_name: node-0
    env_file:
      - ./env/node-0.env
    volumes:
      - ./configs/nodes/node-0/node.conf:/node/node.conf
      - ./configs/nodes/node-0/keystore.dat:/node/keystore.dat
      - ./configs/nodes/node-0/node.license:/node/node.license
      - node-0-data:/node/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
  node-1:
    image: wavesenterprise/node:v1.5.0
    ports:
      - "6872:6862"
      - "6874:6864"
      - "6875:6865"
    networks:
      - we-network
    hostname: node-1
    container_name: node-1
    env_file:
      - ./env/node-1.env
    volumes:
      - ./configs/nodes/node-1/node.conf:/node/node.conf
      - ./configs/nodes/node-1/keystore.dat:/node/keystore.dat
      - ./configs/nodes/node-1/node.license:/node/node.license
      - node-1-data:/node/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
  node-2:
    image: wavesenterprise/node:v1.5.0
    ports:
      - "6882:6862"
      - "6884:6864"
      - "6885:6865"
    networks:
      - we-network
    hostname: node-2
    container_name: node-2
    env_file:
      - ./env/node-2.env
    volumes:
      - ./configs/nodes/node-2/node.conf:/node/node.conf
      - ./configs/nodes/node-2/keystore.dat:/node/keystore.dat
      - ./configs/nodes/node-2/node.license:/node/node.license
      - node-2-data:/node/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
networks:
  we-network:
    driver: bridge
volumes:
  crawler-dbdata:
  node-dbdata:
  node-0-data:
  node-1-data:
  node-2-data:
  auth-service-keys:
  grafana:
  influxdb: