github.com/mysteriumnetwork/node@v0.0.0-20240516044423-365054f76801/docker-compose.e2e-compatibility.yml (about)

     1  version: '3.0'
     2  services:
     3    morqa:
     4      image: mysteriumnetwork/quality-oracle:latest
     5      command: >
     6        --bind-addr=:8085
     7        --prometheus=http://prometheus:9090
     8        --metrics-addr=:8080
     9      depends_on:
    10        - prometheus
    11      expose:
    12        - 8085
    13        - 8080
    14  
    15    prometheus:
    16      image: prom/prometheus:v2.10.0
    17      volumes:
    18        - ./e2e/prometheus:/prometheus
    19      command:
    20        - '--config.file=/prometheus/prometheus-local.yml'
    21        - '--storage.tsdb.path=/data'
    22      expose:
    23        - 9090
    24  
    25    ipify:
    26      image: owlab/ipify
    27      expose:
    28        - 3000
    29  
    30    broker-real:
    31      image: nats:1.0.4
    32      expose:
    33        - 4222
    34  
    35    broker:
    36      image: mysteriumnetwork/nats-proxy:1.0.1
    37      depends_on:
    38        - broker-real
    39      command:
    40        - '-target=broker-real:4222'
    41        - '-allow-unsigned'
    42      expose:
    43        - 4222
    44  
    45    db:
    46      image: postgres:13-alpine
    47      container_name: discovery_db
    48      ports:
    49        - 5432:5432
    50      environment:
    51        - POSTGRES_USER=discovery
    52        - POSTGRES_DB=discovery
    53        - POSTGRES_PASSWORD=discovery
    54      healthcheck:
    55        test: ["CMD-SHELL", "pg_isready -U postgres"]
    56        interval: 10s
    57        timeout: 5s
    58        retries: 5
    59  
    60    discovery:
    61      image: mysteriumnetwork/discovery:2.18.3
    62      depends_on:
    63        - db
    64        - http-mock
    65      expose:
    66        - 8080
    67      cap_add:
    68        - NET_ADMIN
    69      sysctls:
    70        - net.ipv4.conf.default.rp_filter=0
    71        - net.ipv4.conf.all.rp_filter=0
    72        - net.ipv4.conf.eth0.rp_filter=0
    73        - net.ipv4.conf.eth1.rp_filter=0
    74      environment:
    75        - PORT=8080
    76        - DB_DSN=postgresql://discovery:discovery@db:5432/discovery
    77        - QUALITY_ORACLE_URL=http://morqa:8085
    78        - BROKER_URL=broker
    79        - GECKO_URL=http://http-mock:1080/gecko
    80        - COINRANKING_URL=http://http-mock:1080/gecko
    81        - COINRANKING_TOKEN=suchtoken
    82        - UNIVERSE_JWT_SECRET=suchsecret
    83  
    84    #private blockchain
    85    ganache:
    86      image: trufflesuite/ganache-cli:v6.8.1-beta.0
    87      expose:
    88        - 8545
    89      command: >
    90        --mnemonic "amused glory pen avocado toilet dragon entry kitchen cliff retreat canyon danger"
    91  
    92    transactor:
    93      image: mysteriumnetwork/transactor:0.4.5
    94      environment:
    95        PORT: 8888
    96      expose:
    97        - 8888
    98      depends_on:
    99        - ganache
   100        - mongodb
   101      command: >
   102        -settlemntFee 1000
   103        -topUpAmount 7000000000000000000
   104        -stakeDecreaseFee 1
   105        -mystSCAddress 0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   106        -rpcEndpoint http://ganache:8545
   107        -registry 0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   108        -ourIdentity 0x354bd098b4ef8c9e70b7f21be2d455df559705d7
   109        -chImplementation 0x599d43715DF3070f83355D9D90AE62c159E62A75
   110        -balanceCheckInterval 1s
   111        -MongoUser transactor
   112        -MongoPass transactor
   113        -MongoHost mongodb:27017
   114        -MongoReplSet ""
   115      volumes:
   116        - ./e2e/blockchain/keystore:/keystore
   117  
   118    hermes:
   119      image: mysteriumnetwork/hermes:v3-dev
   120      environment:
   121        PORT: 8889
   122      expose:
   123        - 8889
   124      depends_on:
   125        - ganache
   126        - redis
   127        - mongodb
   128      command: >
   129        -identityPassphrase ""
   130        -myst 0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   131        -rpcEndpoint http://ganache:8545
   132        -registry 0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   133        -operator 0x354bd098b4ef8c9e70b7f21be2d455df559705d7
   134        -chImplementation 0x599d43715DF3070f83355D9D90AE62c159E62A75
   135        -keystoreDir /keystore
   136        -hermesAddress 0x427c2bad22335710aec5e477f3e3adcd313a9bcb
   137        -bcDataRefreshInterval 1ns
   138        -MongoUser hermes
   139        -MongoPass hermes
   140        -MongoHost "mongodb:27017"
   141        -MongoDatabase hermes
   142        -MongoReplSet ""
   143        -redisAddress "redis:6379"
   144      volumes:
   145        - ./e2e/blockchain/keystore:/keystore
   146  
   147  
   148    mongodb:
   149      image: 'mongo:4.2.3'
   150      environment:
   151        - MONGO_INITDB_ROOT_PASSWORD=root
   152        - MONGO_INITDB_ROOT_USERNAME=root
   153        - MONGO_INITDB_DATABASE=hermes
   154        - MONGO_NON_ROOT_USERNAME=hermes
   155        - MONGO_NON_ROOT_PASSWORD=hermes
   156      expose:
   157        - 27017
   158        - 27018
   159        - 27019
   160      volumes:
   161        - ./e2e/mongo-init.e2e.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
   162  
   163  
   164    myst-provider:
   165      image: mysteriumnetwork/myst:0.19.1-alpine
   166      depends_on:
   167        - broker
   168        - discovery
   169        - ipify
   170        - transactor
   171        - hermes
   172        - morqa
   173      cap_add:
   174        - NET_ADMIN
   175      devices:
   176        - /dev/net/tun
   177      expose:
   178        - 1194
   179        - 4050
   180      volumes:
   181        - ./e2e/myst-provider/keystore:/var/lib/mysterium-node/keystore
   182      command: >
   183        --discovery.ping=1s
   184        --discovery.fetch=1s
   185        --payments.mystscaddress=0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   186        --ip-detector=http://ipify:3000/?format=json
   187        --location.type=manual
   188        --location.country=e2e-land
   189        --firewall.protected.networks=""
   190        --broker-address=broker
   191        --tequilapi.address=0.0.0.0
   192        --discovery.address=http://discovery:8080/api/v4
   193        --ether.client.rpc=http://ganache:8545
   194        --transactor.registry-address=0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   195        --transactor.channel-implementation=0x599d43715DF3070f83355D9D90AE62c159E62A75
   196        --hermes.hermes-id=0xf2e2c77D2e7207d8341106E6EfA469d1940FD0d8
   197        --transactor.address=http://transactor:8888/api/v1
   198        --keystore.lightweight
   199        --log-level=debug
   200        --quality.address=http://morqa:8085/api/v3
   201        --payments.provider.invoice-frequency=1s
   202        --stun-servers=""
   203        service
   204        --agreed-terms-and-conditions
   205        --identity=0xd1a23227bd5ad77f36ba62badcb78a410a1db6c5
   206        --identity.passphrase=localprovider
   207        --openvpn.port=3000
   208        --active-services=openvpn,noop,wireguard
   209  
   210    myst-consumer:
   211      image: mysteriumnetwork/myst:0.19.1-alpine
   212      depends_on:
   213        - broker
   214        - discovery
   215        - ipify
   216        - transactor
   217        - hermes
   218        - myst-provider
   219        - morqa
   220      cap_add:
   221        - NET_ADMIN
   222      devices:
   223        - /dev/net/tun
   224      expose:
   225        - 4050
   226      command: >
   227        --discovery.ping=1s
   228        --discovery.fetch=1s
   229        --payments.mystscaddress=0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   230        --transactor.registry-address=0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   231        --hermes.hermes-id=0xf2e2c77D2e7207d8341106E6EfA469d1940FD0d8
   232        --transactor.address=http://transactor:8888/api/v1
   233        --transactor.channel-implementation=0x599d43715DF3070f83355D9D90AE62c159E62A75
   234        --ip-detector=http://ipify:3000/?format=json
   235        --location.type=manual
   236        --log-level=debug
   237        --broker-address=broker
   238        --tequilapi.address=0.0.0.0
   239        --discovery.address=http://discovery:8080/api/v4
   240        --ether.client.rpc=http://ganache:8545
   241        --keystore.lightweight
   242        --firewall.killSwitch.always
   243        --quality.address=http://morqa:8085/api/v3
   244        --stun-servers=""
   245        daemon
   246  
   247    myst-provider-local:
   248      build:
   249        context: .
   250        dockerfile: ./bin/docker/alpine-prebuilt/Dockerfile
   251      depends_on:
   252        - broker
   253        - discovery
   254        - ipify
   255        - transactor
   256        - hermes
   257        - morqa
   258      cap_add:
   259        - NET_ADMIN
   260      devices:
   261        - /dev/net/tun
   262      expose:
   263        - 1194
   264        - 4050
   265      volumes:
   266        - ./e2e/myst-provider/keystore:/var/lib/mysterium-node/keystore
   267      command: >
   268        --discovery.ping=1s
   269        --discovery.fetch=1s
   270        --payments.mystscaddress=0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   271        --ip-detector=http://ipify:3000/?format=json
   272        --location.type=manual
   273        --location.country=e2e-land
   274        --firewall.protected.networks=""
   275        --broker-address=broker
   276        --discovery.address=http://discovery:8080/api/v4
   277        --ether.client.rpc=http://ganache:8545
   278        --transactor.registry-address=0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   279        --transactor.channel-implementation=0x599d43715DF3070f83355D9D90AE62c159E62A75
   280        --hermes.hermes-id=0xf2e2c77D2e7207d8341106E6EfA469d1940FD0d8
   281        --transactor.address=http://transactor:8888/api/v1
   282        --keystore.lightweight
   283        --log-level=debug
   284        --quality.address=http://morqa:8085/api/v3
   285        --stun-servers=""
   286        service
   287        --agreed-terms-and-conditions
   288        --identity=0xd1a23227bd5ad77f36ba62badcb78a410a1db6c5
   289        --identity.passphrase=localprovider
   290        --openvpn.port=3000
   291        --active-services=openvpn,noop,wireguard
   292  
   293    myst-consumer-local:
   294      build:
   295        context: .
   296        dockerfile: ./bin/docker/alpine-prebuilt/Dockerfile
   297      depends_on:
   298        - broker
   299        - discovery
   300        - ipify
   301        - transactor
   302        - hermes
   303        - myst-provider
   304        - morqa
   305      cap_add:
   306        - NET_ADMIN
   307      devices:
   308        - /dev/net/tun
   309      expose:
   310        - 4050
   311      command: >
   312        --discovery.ping=1s
   313        --discovery.fetch=1s
   314        --payments.mystscaddress=0xaa9c4e723609cb913430143fbc86d3cbe7adca21
   315        --transactor.registry-address=0xbe180c8CA53F280C7BE8669596fF7939d933AA10
   316        --hermes.hermes-id=0xf2e2c77D2e7207d8341106E6EfA469d1940FD0d8
   317        --transactor.address=http://transactor:8888/api/v1
   318        --transactor.channel-implementation=0x599d43715DF3070f83355D9D90AE62c159E62A75
   319        --ip-detector=http://ipify:3000/?format=json
   320        --location.type=manual
   321        --log-level=debug
   322        --broker-address=broker
   323        --discovery.address=http://discovery:8080/api/v4
   324        --ether.client.rpc=http://ganache:8545
   325        --keystore.lightweight
   326        --firewall.killSwitch.always
   327        --quality.address=http://morqa:8085/api/v3
   328        --stun-servers=""
   329        --local-service-discovery=true
   330        daemon
   331  
   332    #go runner to run go programs inside localnet (usefull for contract deployment or e2e test running)
   333    go-runner:
   334      build:
   335        context: .
   336        dockerfile: ./e2e/gorunner/Dockerfile.precompiled
   337      cap_add:
   338        - NET_ADMIN
   339      volumes:
   340        - ./e2e/blockchain/keystore:/node/keystore
   341      working_dir: /node