forked from pointnetwork/pointnetwork
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.e2e.yaml
124 lines (114 loc) · 3.43 KB
/
docker-compose.e2e.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
version: '3.9'
services:
blockchain_node:
image: trufflesuite/ganache-cli:v6.12.2
container_name: blockchain
hostname: blockchain_node
healthcheck:
test: |
wget -qO- http://localhost:7545 \
--header='Content-Type: application/json' \
--header="Accept: application/json" \
--post-data='{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":0}'
interval: 10s
timeout: 10s
retries: 3
start_period: 5s
ports:
- '7545:7545'
volumes:
- blockchain_data_e2e:/data:rw
environment:
- DOCKER=true
command: |
-v -p 7545 -i 256 --keepAliveTimeout 20000 --db /data \
--account 0x011967d88c6b79116bb879d4c2bc2c3caa23569edd85dfe0bc596846837bbc8e,0x56bc75e2d63100000
contract_deployer:
container_name: deployer
image: pointnetwork/contract-deployer:v0.1.1
depends_on:
blockchain_node:
condition: service_healthy
deploy:
restart_policy:
condition: 'no'
volumes:
- shared_contracts_e2e:/build:rw
- ../point-contracts/contracts:/hardhat/contracts:ro
- ../point-contracts/scripts:/hardhat/scripts:ro
- ../point-contracts/tasks:/hardhat/tasks:ro
- ../point-contracts/hardhat.config.ts:/hardhat/hardhat.config.ts:ro
- ../point-contracts/utils.ts:/hardhat/utils.ts:ro
- ../point-contracts/resources:/hardhat/resources:rw
environment:
BLOCKCHAIN_HOST: blockchain_node
BLOCKCHAIN_PORT: 7545
BLOCKCHAIN_NETWORK_ID: 256
DEPLOYER_COMPILER_VERSION: native
DEPLOYER_ACCOUNT: 0x011967d88c6b79116bb879d4c2bc2c3caa23569edd85dfe0bc596846837bbc8e
DEPLOYER_BUILD_PATH: /build
point_node:
extends:
file: docker-compose.dev.yaml
service: point_node
depends_on:
contract_deployer:
condition: service_completed_successfully
buckets:
condition: service_completed_successfully
command: 'run start:e2e'
volumes:
- point_node_data_e2e:/data
- shared_contracts_e2e:/app/hardhat/build
- ./resources/blockchain-test-key.json:/data/keystore/key.json
- ./resources/arweave-test-key.json:/data/keystore/arweave.json
- ../point-contracts/resources:/app/hardhat/resources:rw
environment:
NODE_CONFIG_ENV: e2e
MODE: e2e
arweave:
extends:
file: docker-compose.storage.yaml
service: arweave
volumes:
- arweave_data_e2e:/mnt/arweave-data
gateway:
extends:
file: docker-compose.storage.yaml
service: gateway
volumes:
- gateway_data_e2e:/app
gateway_db:
extends:
file: docker-compose.storage.yaml
service: gateway_db
volumes:
- gateway_db_data_e2e:/var/lib/postgresql/data
bundler:
extends:
file: docker-compose.storage.yaml
service: bundler
# volumes:
# - ../arweave-bundler/src:/app/src
# - ../arweave-bundler/config:/app/config
# - ../arweave-bundler/package.json:/app/package.json
# entrypoint: >
# /bin/bash -c "ARWEAVE_KEY=$$(cat /app/keystore/key.json) npm run develop"
cache:
extends:
file: docker-compose.storage.yaml
service: cache
volumes:
- bundler_data_e2e:/data
buckets:
extends:
file: docker-compose.storage.yaml
service: buckets
volumes:
blockchain_data_e2e:
shared_contracts_e2e:
point_node_data_e2e:
arweave_data_e2e:
gateway_data_e2e:
bundler_data_e2e:
gateway_db_data_e2e: