-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
112 lines (106 loc) · 2.84 KB
/
docker-compose.yaml
File metadata and controls
112 lines (106 loc) · 2.84 KB
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
name: keds
services:
knots:
container_name: knots
build:
context: docker/knots
args:
- KNOTS_VERSION=29.2.knots20251010
environment:
- RPC_USER=${RPC_USER}
- RPC_PASSWORD=${RPC_PASSWORD}
- REINDEX=0 # 1 to reindex blocks
- REINDEX_CHAINSTATE=0 # 1 to reindex chainstate (only utxo set, not txindex)
# Performance Tuning for 1cpu 1GB RAM
- DB_CACHE=${DB_CACHE:-100}
- MAX_CONNECTIONS=${MAX_CONNECTIONS:-20}
- RPC_WORK_QUEUE=${RPC_WORK_QUEUE:-8}
- MAX_MEMPOOL=${MAX_MEMPOOL:-50}
- BLOCK_RECONSTRUCTION_EXTRA_TXN=${BLOCK_RECONSTRUCTION_EXTRA_TXN:-5000}
volumes:
- ${PWD}/data/bitcoin:/data/.bitcoin
restart: on-failure
ports:
- "8332:8332"
- "8333:8333"
- "8443:8443"
networks:
- default
- external_net
electrs:
container_name: electrs
depends_on:
- knots
build:
context: docker/electrs
environment:
BITCOIN_RPC_USER: "${RPC_USER}"
BITCOIN_RPC_PASSWORD: "${RPC_PASSWORD}"
ELECTRS_NETWORK: "bitcoin"
ELECTRS_DAEMON_RPC_ADDR: "knots:8332"
ELECTRS_DAEMON_P2P_ADDR: "knots:8333"
ELECTRS_ELECTRUM_RPC_ADDR: "0.0.0.0:50001"
ELECTRS_SERVER_BANNER: "Electrs"
ELECTRS_INDEX_BATCH_SIZE: "2000"
ELECTRS_WAIT_DURATION_SECS: "1"
ELECTRS_MONITORING_ADDR: "0.0.0.0:4224"
ELECTRS_LOG_FILTERS: "INFO"
ELECTRS_DB_DIR: "/data"
volumes:
- ${PWD}/data/electrs:/data
restart: always
ports:
- "50001:50001"
- "4224:4224"
networks:
- default
datum:
container_name: datum
depends_on:
- knots
build:
context: docker/datum
args:
- DATUM_VERSION=${DATUM_VERSION:-v0.3.1beta}
environment:
DATUM_POOL_ADDRESS: "${POOL_ADDRESS}"
DATUM_COINBASE_TAG_PRIMARY: "DATUM Gateway"
DATUM_COINBASE_TAG_SECONDARY: "${COINBASE_TAG_SECONDARY}"
DATUM_POOL_HOST: "datum-beta1.mine.ocean.xyz" # set to "" for solo mining
ports:
- "23334:23334"
- "8080:8080"
networks:
- default
- external_net
specter:
container_name: specter
build:
context: docker/specter
environment:
- RPC_USER=${RPC_USER}
- RPC_PASSWORD=${RPC_PASSWORD}
restart: always
volumes:
- ${PWD}/data/specter:/data/.specter
ports:
- "25441:25441"
networks:
- default
- external_net
cpuminer:
container_name: cpuminer
build:
context: docker/cpuminer
command: ["--url=stratum+tcp://datum:23334", "--user=${POOL_ADDRESS}", "--pass=x"]
restart: always
depends_on:
- datum
cpus: 0.3
networks:
- default
networks:
default:
internal: true # isolates all services on this network from the internet
external_net:
driver: bridge # standard bridge network with internet access