forked from insight-nervos/btcpool-docker-compose
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
139 lines (127 loc) · 3.13 KB
/
docker-compose.yml
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
version: "3.3"
services:
btcpool:
image: ${DOCKER_IMAGE_BTCPOOL}:${TAG_BTCPOOL}
ports:
- "1800:1800" # sserver
depends_on:
- zookeeper
- kafka
- miner-list
volumes:
- "./btcpool/${NETWORK_NAME?mainnet}/config:/work/config"
restart: always
command: /bin/bash -c "sleep 10; sserver -c /work/config/sserver.cfg"
networks:
- default
jobmaker:
image: ${DOCKER_IMAGE_BTCPOOL}:${TAG_BTCPOOL}
depends_on:
- kafka
volumes:
- "./btcpool/${NETWORK_NAME}/config:/work/config"
restart: always
command: ["jobmaker", "-c", "/work/config/jobmaker.cfg"]
networks:
- default
blockmaker:
image: ${DOCKER_IMAGE_BTCPOOL}:${TAG_BTCPOOL}
depends_on:
- zookeeper
- kafka
- ckb-node
- mysql
volumes:
- "./btcpool/${NETWORK_NAME}/config:/work/config"
restart: always
command: ["blkmaker", "-c", "/work/config/blkmaker.cfg"]
networks:
- default
ckb-node:
image: ${DOCKER_IMAGE_CKB_NODE}:${TAG_CKB_NODE}
user: root
ports:
- "8114:8114" # RPC
- "8115:8115" # Blockchain
networks:
- default
environment:
CKB_CHAIN: ${NETWORK_NAME}
volumes:
- "./ckb-node/${NETWORK_NAME}:/var/lib/ckb"
command: ["run"]
restart: always
nodebridge:
build: ./nodebridge
networks:
- default
restart: always
links:
- "mysql"
- "kafka"
- "ckb-node"
depends_on:
- kafka
- mysql
- btcpool
- ckb-node
zookeeper:
image: confluentinc/cp-zookeeper:5.5.1
restart: always
ports:
- "127.0.0.1:2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ZOOKEEPER_SYNC_LIMIT: 2
networks:
- default
kafka:
image: confluentinc/cp-kafka:5.5.1
depends_on:
- zookeeper
ports:
- "127.0.0.1:9092:9092"
- "127.0.0.1:19092:19092"
environment:
KAFKA_ADVERTISED_HOST_NAME: "kafka:9092"
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
networks:
- default
restart: always
miner-list:
build: ./miner-list
ports:
- "127.0.0.1:8000:8000"
networks:
- default
restart: always
depends_on:
- mysql
mysql:
image: mariadb
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
command: --log-error=/var/log/mysql/mysql.log
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/sql:/docker-entrypoint-initdb.d
- ./mysql/log:/var/log/mysql
restart: always
# only run redis if enabled in btcpool
redis:
image: redis:latest
ports:
- "127.0.0.1:6379:6379"
volumes:
- ./redis/data/db:/data/db
networks:
- default
restart: always