forked from pointnetwork/pointnetwork
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.storage.yaml
126 lines (119 loc) · 3.03 KB
/
docker-compose.storage.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
version: '3.9'
services:
arweave:
image: lucaarweave/arweave-node:0.0.4
container_name: storage
hostname: arweave-node
healthcheck:
test: |
wget -qO- http://localhost:1984/info
interval: 10s
timeout: 10s
retries: 3
start_period: 5s
ports:
- '1984:1984'
environment:
AR_RUNMODE: test
volumes:
- ./resources/arweave-test-genesis.csv:/opt/arweave/data/genesis_wallets.csv
- arweave_data:/mnt/arweave-data
gateway:
image: pointnetwork/arweave-gateway:v0.0.1
container_name: gateway
hostname: gateway
depends_on:
gateway_db:
condition: service_healthy
arweave:
condition: service_healthy
ports:
- '3000:3000'
environment:
DATABASE_HOST: gateway_db
DATABASE_PORT: 5432
DATABASE_NAME: postgres
DATABASE_USER: arweave
DATABASE_PASSWORD: arweave
ARWEAVE_NODES: '["http://arweave-node:1984"]'
START_HEIGHT: 0
gateway_db:
image: postgres:12
container_name: gateway_db
hostname: gateway_db
volumes:
- gateway_db_data:/var/lib/postgresql/data
healthcheck:
test: pg_isready -U arweave
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: arweave
POSTGRES_PASSWORD: arweave
POSTGRES_DB: arweave
command: postgres -c 'max_connections=500'
ports:
- '5432:5432'
bundler:
image: pointnetwork/arweave-bundler:v1.0.8
container_name: bundler
hostname: bundler
depends_on:
buckets:
condition: service_completed_successfully
arweave:
condition: service_healthy
volumes:
- ./resources/arweave-test-key.json:/app/keystore/key.json
entrypoint: >
/bin/bash -c "ARWEAVE_KEY=$$(cat /app/keystore/key.json) npm start"
environment:
S3_HOST: bundler-cache
S3_PORT: 9000
S3_PROTOCOL: http
S3_BUCKET: testbucket
S3_KEY: miniouser
S3_SECRET: miniopass
ARWEAVE_HOST: arweave-node
ARWEAVE_PORT: 1984
ARWEAVE_PROTOCOL: http
TESTMODE: '1'
ports:
- '80:80'
cache:
image: minio/minio:latest
container_name: cache
hostname: bundler-cache
command: server /data --console-address ':9001'
healthcheck:
test: curl -If http://localhost:9000/minio/health/ready > /dev/null
interval: 10s
timeout: 10s
retries: 3
start_period: 0s
ports:
- '9000:9000'
- '9001:9001'
volumes:
- bundler_data:/data
environment:
MINIO_ACCESS_KEY: miniouser
MINIO_SECRET_KEY: miniopass
buckets:
image: minio/mc
container_name: buckets
depends_on:
cache:
condition: service_healthy
environment:
MC_HOST_minio: http://miniouser:miniopass@bundler-cache:9000
entrypoint: >
/bin/bash -c "
mc ls minio/testbucket > /dev/null || (
mc mb minio/testbucket && mc policy set public minio/testbucket && exit 0)"
volumes:
arweave_data:
bundler_data:
gateway_db_data:
arlocal_data: