-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yaml
136 lines (136 loc) · 3.55 KB
/
docker-compose.yaml
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
version: "3.9"
services:
builder:
image: das-api/builder
build:
context: .
dockerfile: Builder.Dockerfile
graphite:
image: graphiteapp/graphite-statsd
container_name: graphite
restart: always
ports:
- "8080:80"
- "8125:8125/udp"
- "8126:8126"
- "2003:2003"
- "2004:2004"
migrator:
depends_on:
- db
- builder
environment:
DATABASE_URL: postgres://solana:solana@db/solana
build:
context: .
dockerfile: Migrator.Dockerfile
ingester:
depends_on:
- migrator
- builder
- redis
- db
- graphite
- solana
restart: always
environment:
RUST_LOG: debug
INGESTER_METRICS_PORT: 8125
INGESTER_METRICS_HOST: graphite
INGESTER_DATABASE_CONFIG: '{max_postgres_connections=, listener_channel="backfill_item_added", url="postgres://solana:solana@db/solana"}'
INGESTER_MESSENGER_CONFIG: '{connection_config={batch_size=500,idle_timeout=5000,redis_connection_str="redis://redis"}, messenger_type="Redis"}'
INGESTER_RPC_CONFIG: '{url="http://${COMPOSE_PROJECT_NAME}-solana-1:8899/", commitment="confirmed"}'
RUST_BACKTRACE: 1
build:
context: .
dockerfile: Ingest.Dockerfile
load:
depends_on:
- migrator
- ingester
- builder
- solana
restart: always
environment:
KEYPAIR_SEED: "caputure the diems and stuff and then prolly take a nap and stuff"
NETWORK: "local"
AMOUNT_OF_CHAOS: 1
RPC_URL: "http://${COMPOSE_PROJECT_NAME}-solana-1:8899/"
build:
context: .
dockerfile: Load.Dockerfile
proxy:
build:
context: .
dockerfile: Proxy.Dockerfile
volumes:
- ./metaplex-rpc-proxy/envoy-compose.yaml:/etc/envoy.yaml
ports:
- 9091:9091
api:
depends_on:
- migrator
- builder
restart: always
environment:
APP_DATABASE_URL: postgres://solana:solana@db/solana
APP_SERVER_PORT: 9090
APP_METRICS_PORT: 8125
APP_METRICS_HOST: graphite
build:
context: .
dockerfile: Api.Dockerfile
ports:
- 9090:9090
redis:
image: "redis:7.0.0"
ports:
- "6379:6379"
db:
image: "postgres:14"
command:
[
"postgres",
"-c",
"log_statement=all",
"-c",
"log_destination=stderr",
"-c",
"max_connections=200",
]
ports:
- 5432:5432
environment:
POSTGRES_USER: solana # The PostgreSQL user (useful to connect to the database)
POSTGRES_PASSWORD: solana # The PostgreSQL password (useful to connect to the database)
POSTGRES_DB: solana
volumes:
- ./db-data/:/var/lib/postgresql/data/:z
solana:
image: ghcr.io/metaplex-foundation/plerkle-test-validator:v1.9.0-1.75.0-v1.18.11
volumes:
- ./programs:/so/:ro
- ./ledger:/config:rw
- ./solana-test-validator-geyser-config:/plugin-config:rw
environment:
RUST_LOG: error
PLUGIN_MESSENGER_CONFIG.messenger_type: "Redis"
PLUGIN_MESSENGER_CONFIG.connection_config: '{redis_connection_str="redis://redis"}'
ports:
- "8900:8900"
- "8001:8001"
- "8899:8899"
- "9900:9900"
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus-config.yaml:/etc/prometheus/prometheus-config.yaml
command: ["--config.file=/etc/prometheus/prometheus-config.yaml"]
ports:
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
grafana_data: {}
graphite_data: {}