-
Notifications
You must be signed in to change notification settings - Fork 113
/
docker-compose.yml
90 lines (85 loc) · 2.83 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
version: '3.3'
networks:
outside:
external:
name: shimmer
services:
goshimmer:
image: iotaledger/goshimmer:latest
container_name: goshimmer
hostname: goshimmer
stop_grace_period: 2m
# Mount volumes:
# make sure to give read/write access to the folder ./mainnetdb (e.g., chmod -R 777 ./mainnetdb)
# optionally, you can mount a config.json into the container
volumes:
- "goshimmer-db-volume:/app/mainnetdb:rw"
- "goshimmer-peerdb-volume:/app/peerdb:rw"
- "/etc/localtime:/etc/localtime:ro"
ports:
# AutoPeering
- "0.0.0.0:14626:14626/udp"
# Gossip
- "0.0.0.0:14666:14666/tcp"
# HTTP API
- "0.0.0.0:8080:8080/tcp"
# Dashboard
- "0.0.0.0:8081:8081/tcp"
# pprof profiling
- "0.0.0.0:6061:6061/tcp"
environment:
- AUTOPEERING_BINDADDRESS=0.0.0.0:14626
- DASHBOARD_BINDADDRESS=0.0.0.0:8081
- P2P_BINDADDRESS=0.0.0.0:14666
- WEBAPI_BINDADDRESS=0.0.0.0:8080
- PROFILING_BINDADDRESS=0.0.0.0:6061
- PROMETHEUS_BINDADDRESS=0.0.0.0:9311
command: >
--skip-config=true
--autoPeering.entryNodes=2PV5487xMw5rasGBXXWeqSi4hLz7r19YBt8Y1TGAsQbj@analysisentry-01.devnet.shimmer.iota.cafe:15626,5EDH4uY78EA6wrBkHHAVBWBMDt7EcksRq6pjzipoW15B@entry-0.devnet.tanglebay.com:14646,CAB87iQZR6BjBrCgEBupQJ4gpEBgvGKKv3uuGVRBKb4n@entry-1.devnet.tanglebay.com:14646
--node.disablePlugins=portcheck
--node.enablePlugins=remotelog,spammer,prometheus
--database.directory=/app/mainnetdb
--node.peerDBDirectory=/app/peerdb
--logger.level=info
--logger.disableEvents=false
--logger.remotelog.serverAddress=metrics-01.devnet.shimmer.iota.cafe:5213
networks:
- outside
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
ports:
- "9090:9090/tcp"
command:
- --config.file=/etc/prometheus/prometheus.yml
volumes:
- ./tools/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus-data-volume:/prometheus:rw
depends_on:
- goshimmer
networks:
- outside
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
environment:
# path to provisioning definitions can only be defined as
# environment variables for grafana within docker
- GF_PATHS_PROVISIONING=/var/lib/grafana/provisioning
ports:
- "3000:3000/tcp"
user: "472"
volumes:
- grafana-data-volume:/var/lib/grafana
- ./tools/docker-network/grafana/provisioning:/var/lib/grafana/provisioning:ro
- ./tools/docker-network/grafana/dashboards:/var/lib/grafana/dashboards:ro
networks:
- outside
volumes:
goshimmer-db-volume:
goshimmer-peerdb-volume:
grafana-data-volume:
prometheus-data-volume: