forked from rpcpool/digital-asset-rpc-infrastructure
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
117 lines (117 loc) · 3.17 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
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/:rw
solana:
image: ghcr.io/metaplex-foundation/plerkle-test-validator:v1.6.0-1.69.0-v1.16.6
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"
volumes:
grafana_data: { }
graphite_data: { }