Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Commit 43b6e3e

Browse files
committed
Add option to run a minimal docker network
1 parent c58790e commit 43b6e3e

File tree

2 files changed

+81
-9
lines changed

2 files changed

+81
-9
lines changed

Diff for: tools/docker-network/docker-compose.yml

+47
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ services:
3636
--prometheus.goMetrics=true
3737
--prometheus.processMetrics=true
3838
--debugAPI.enabled=true
39+
profiles:
40+
- minimal
41+
- full
3942

4043
node-2-validator:
4144
image: docker-network-node-1-validator:latest
@@ -68,6 +71,8 @@ services:
6871
--inx.bindAddress=0.0.0.0:9029
6972
--prometheus.goMetrics=true
7073
--prometheus.processMetrics=true
74+
profiles:
75+
- full
7176

7277
node-3-validator:
7378
image: docker-network-node-1-validator:latest
@@ -100,6 +105,8 @@ services:
100105
--inx.bindAddress=0.0.0.0:9029
101106
--prometheus.goMetrics=true
102107
--prometheus.processMetrics=true
108+
profiles:
109+
- full
103110

104111
node-4-validator:
105112
image: docker-network-node-1-validator:latest
@@ -130,6 +137,8 @@ services:
130137
--node.alias=node-4-validator
131138
--inx.enabled=true
132139
--inx.bindAddress=0.0.0.0:9029
140+
profiles:
141+
- full
133142

134143
node-5:
135144
image: docker-network-node-1-validator:latest
@@ -162,6 +171,8 @@ services:
162171
--inx.bindAddress=0.0.0.0:9029
163172
--prometheus.goMetrics=true
164173
--prometheus.processMetrics=true
174+
profiles:
175+
- full
165176

166177
node-6:
167178
image: docker-network-node-1-validator:latest
@@ -194,6 +205,8 @@ services:
194205
--inx.bindAddress=0.0.0.0:9029
195206
--prometheus.goMetrics=true
196207
--prometheus.processMetrics=true
208+
profiles:
209+
- full
197210

198211
##################################################################
199212
# Monitoring #
@@ -255,6 +268,9 @@ services:
255268
--inx.address=node-1-validator:9029
256269
--restAPI.bindAddress=0.0.0.0:9091
257270
--restAPI.advertiseAddress=inx-indexer:9091
271+
profiles:
272+
- minimal
273+
- full
258274

259275
inx-mqtt:
260276
image: iotaledger/inx-mqtt:2.0-alpha
@@ -268,6 +284,9 @@ services:
268284
command: >
269285
--inx.address=node-1-validator:9029
270286
--mqtt.websocket.bindAddress=inx-mqtt:1888
287+
profiles:
288+
- minimal
289+
- full
271290

272291
inx-blockissuer:
273292
image: iotaledger/inx-blockissuer:1.0-alpha
@@ -287,6 +306,9 @@ services:
287306
--restAPI.bindAddress=inx-blockissuer:9086
288307
--blockIssuer.accountAddress=rms1prkursay9fs2qjmfctamd6yxg9x8r3ry47786x0mvwek4qr9xd9d5c6gkun
289308
--blockIssuer.proofOfWork.targetTrailingZeros=5
309+
profiles:
310+
- minimal
311+
- full
290312

291313
inx-faucet:
292314
image: iotaledger/inx-faucet:2.0-alpha
@@ -314,6 +336,9 @@ services:
314336
--faucet.baseTokenAmountMaxTarget=5000000000
315337
--faucet.manaAmount=100000000
316338
--faucet.manaAmountMinFaucet=1000000000
339+
profiles:
340+
- minimal
341+
- full
317342

318343
inx-validator-1:
319344
image: iotaledger/inx-validator:1.0-alpha
@@ -332,6 +357,9 @@ services:
332357
--validator.ignoreBootstrapped=true
333358
--validator.accountAddress=rms1pzg8cqhfxqhq7pt37y8cs4v5u4kcc48lquy2k73ehsdhf5ukhya3y5rx2w6
334359
--validator.issueCandidacyPayload=${ISSUE_CANDIDACY_PAYLOAD_V1:-true}
360+
profiles:
361+
- minimal
362+
- full
335363

336364
inx-validator-2:
337365
image: iotaledger/inx-validator:1.0-alpha
@@ -349,6 +377,8 @@ services:
349377
--inx.address=node-2-validator:9029
350378
--validator.accountAddress=rms1pqm4xk8e9ny5w5rxjkvtp249tfhlwvcshyr3pc0665jvp7g3hc875k538hl
351379
--validator.issueCandidacyPayload=${ISSUE_CANDIDACY_PAYLOAD_V2:-true}
380+
profiles:
381+
- full
352382

353383
inx-validator-3:
354384
image: iotaledger/inx-validator:1.0-alpha
@@ -366,6 +396,8 @@ services:
366396
--inx.address=node-3-validator:9029
367397
--validator.accountAddress=rms1pp4wuuz0y42caz48vv876qfpmffswsvg40zz8v79sy8cp0jfxm4kunflcgt
368398
--validator.issueCandidacyPayload=${ISSUE_CANDIDACY_PAYLOAD_V3:-true}
399+
profiles:
400+
- full
369401

370402
inx-validator-4:
371403
image: iotaledger/inx-validator:1.0-alpha
@@ -383,6 +415,8 @@ services:
383415
--inx.address=node-4-validator:9029
384416
--validator.accountAddress=rms1pr8cxs3dzu9xh4cduff4dd4cxdthpjkpwmz2244f75m0urslrsvtsshrrjw
385417
--validator.issueCandidacyPayload=${ISSUE_CANDIDACY_PAYLOAD_V4:-true}
418+
profiles:
419+
- full
386420

387421
inx-dashboard-1:
388422
container_name: inx-dashboard-1
@@ -402,6 +436,9 @@ services:
402436
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
403437
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
404438
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
439+
profiles:
440+
- minimal
441+
- full
405442

406443
inx-dashboard-2:
407444
container_name: inx-dashboard-2
@@ -421,6 +458,8 @@ services:
421458
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
422459
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
423460
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
461+
profiles:
462+
- full
424463

425464
inx-dashboard-3:
426465
container_name: inx-dashboard-3
@@ -440,6 +479,8 @@ services:
440479
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
441480
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
442481
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
482+
profiles:
483+
- full
443484

444485
inx-dashboard-4:
445486
container_name: inx-dashboard-4
@@ -459,6 +500,8 @@ services:
459500
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
460501
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
461502
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
503+
profiles:
504+
- full
462505

463506
inx-dashboard-5:
464507
container_name: inx-dashboard-5
@@ -478,6 +521,8 @@ services:
478521
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
479522
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
480523
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
524+
profiles:
525+
- full
481526

482527
inx-dashboard-6:
483528
container_name: inx-dashboard-6
@@ -497,6 +542,8 @@ services:
497542
- "--dashboard.auth.username=${DASHBOARD_USERNAME:-admin}"
498543
- "--dashboard.auth.passwordHash=${DASHBOARD_PASSWORD:-0000000000000000000000000000000000000000000000000000000000000000}"
499544
- "--dashboard.auth.passwordSalt=${DASHBOARD_SALT:-0000000000000000000000000000000000000000000000000000000000000000}"
545+
profiles:
546+
- full
500547

501548
# Create our own network
502549
networks:

Diff for: tools/docker-network/run.sh

+34-9
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,30 @@
33
# Create a function to join an array of strings by a given character
44
function join { local IFS="$1"; shift; echo "$*"; }
55

6-
# All parameters can be optional now, just make sure we don't have too many
7-
if [[ $# -gt 2 ]] ; then
8-
echo 'Call with ./run.sh [monitoring=0|1]'
9-
exit 0
10-
fi
11-
12-
MONITORING=${1:-0}
6+
# Initialize variables
7+
MONITORING=0
8+
MINIMAL=0
9+
10+
# Loop over all arguments
11+
for arg in "$@"
12+
do
13+
case $arg in
14+
monitoring=*)
15+
MONITORING="${arg#*=}"
16+
shift
17+
;;
18+
minimal=*)
19+
MINIMAL="${arg#*=}"
20+
shift
21+
;;
22+
*)
23+
# Unknown option
24+
echo "Unknown argument: $arg"
25+
echo 'Call with ./run.sh [monitoring=0|1] [minimal=0|1]'
26+
exit 1
27+
;;
28+
esac
29+
done
1330

1431
export DOCKER_BUILDKIT=1
1532
export COMPOSE_DOCKER_CLI_BUILD=1
@@ -66,13 +83,21 @@ fi
6683
chmod o+r docker-network-snapshots/snapshot.bin
6784

6885
echo "Run iota-core network"
69-
# IOTA_CORE_PEER_REPLICAS is used in docker-compose.yml to determine how many replicas to create
70-
export IOTA_CORE_PEER_REPLICAS=$REPLICAS
86+
7187
# Profiles is created to set which docker profiles to run
7288
# https://docs.docker.com/compose/profiles/
7389
PROFILES=()
7490
if [ $MONITORING -ne 0 ]; then
7591
PROFILES+=("monitoring")
92+
echo "Monitoring profile active"
93+
fi
94+
95+
if [ $MINIMAL -ne 0 ]; then
96+
PROFILES+=("minimal")
97+
echo "Minimal profile active"
98+
else
99+
PROFILES+=("full")
100+
echo "Full profile active"
76101
fi
77102

78103
export COMPOSE_PROFILES=$(join , ${PROFILES[@]})

0 commit comments

Comments
 (0)