-
Notifications
You must be signed in to change notification settings - Fork 124
/
docker-compose.yml
131 lines (122 loc) · 4.54 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
version: "3"
networks:
incredible-squaring-network:
name: incredible-squaring-network
driver: bridge
services:
anvil:
image: ghcr.io/foundry-rs/foundry:nightly-5b7e4cb3c882b28f3c32ba580de27ce7381f415a
container_name: anvil
ports:
# opening the port so we can easily cast to anvil from localhost
- "8545:8545"
# changed entrypoint because the default 'bash -c' entrypoint wasn't working the intended way...
entrypoint: anvil
volumes:
- ./tests/anvil/avs-and-eigenlayer-deployed-anvil-state.json:/root/.anvil/state.json
command: --host 0.0.0.0 --load-state /root/.anvil/state.json
networks:
- incredible-squaring-network
anvil-advance-chain-script:
image: ghcr.io/foundry-rs/foundry:nightly-5b7e4cb3c882b28f3c32ba580de27ce7381f415a
depends_on:
- anvil
entrypoint: cast
command: rpc anvil_mine 100 --rpc-url http://anvil:8545
networks:
- incredible-squaring-network
aggregator:
image: ghcr.io/layr-labs/incredible-squaring/aggregator/cmd/main.go:latest
container_name: incredible-squaring-aggregator
depends_on:
anvil:
condition: service_started
anvil-advance-chain-script:
condition: service_completed_successfully
volumes:
- ./:/incredible-squaring/
working_dir: /incredible-squaring
command:
- --config
- config-files/aggregator-docker-compose.yaml
- --credible-squaring-deployment
- contracts/script/output/31337/credible_squaring_avs_deployment_output.json
- --ecdsa-private-key
- "0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6"
networks:
- incredible-squaring-network
operator1:
image: ghcr.io/layr-labs/incredible-squaring/operator/cmd/main.go:latest
container_name: incredible-squaring-operator1
depends_on:
anvil:
condition: service_started
aggregator:
condition: service_started
anvil-advance-chain-script:
condition: service_completed_successfully
ports:
- "9090:9090" # prometheus metrics port (defined in operator-docker-compose.anvil.yaml file)
volumes:
- ./:/incredible-squaring/
working_dir: /incredible-squaring
command: --config config-files/operator-docker-compose.anvil.yaml
networks:
- incredible-squaring-network
# operator2:
# image: ghcr.io/layr-labs/incredible-squaring/operator/cmd/main.go:latest
# container_name: incredible-squaring-operator2
# depends_on:
# anvil:
# condition: service_started
# volumes:
# - ./:/incredible-squaring/
# working_dir: /incredible-squaring
# command: --config config-files/operator-docker-compose.anvil.yaml --credible-squaring-deployment contracts/script/output/31337/credible_squaring_avs_deployment_output.json --ecdsa-private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --bls-private-key 2
# networks:
# - incredible-squaring-network
# METRICS RELATED
grafana:
image: grafana/grafana:9.4.1
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
# See https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#override-configuration-with-environment-variables
# and https://grafana.com/docs/grafana/latest/setup-grafana/configure-docker/
# They recommend using env vars instead of overwriting config.ini
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
restart: unless-stopped
ports:
- 3000:3000
networks:
- incredible-squaring-network
prometheus:
image: prom/prometheus:v2.42.0
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/etc/prometheus/console_libraries"
- "--web.console.templates=/etc/prometheus/consoles"
- "--storage.tsdb.retention.time=200h"
- "--web.enable-lifecycle"
- --web.enable-remote-write-receiver
restart: unless-stopped
expose:
- 9090
networks:
- incredible-squaring-network
# so that we can access the host from within the container
# needed to get the metrics from host.docker.internal:9184/metrics
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
prometheus_data: {}
grafana_data: {}