-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
170 lines (156 loc) · 4.29 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
---
version: '3.8'
x-base-logging: &base-logging
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "10"
services:
lotus:
<<: *base-logging
image: docker.services.kindstudios.gr/permanentum-lotus:${LOTUS_VERSION}
build:
context: ./lotus
args:
VERSION: "${LOTUS_VERSION?}"
NET: $FILECOIN_NETWORK
volumes:
- type: bind
source: $LOTUS_STORAGE
target: /lotus
- type: bind
source: $LOTUS_KEYSTORE
target: /lotus/keystore
environment:
LOTUS_PATH: /lotus
BOOTSTRAP: "${LOTUS_BOOTSTRAP?}"
LOTUS_API_LISTENADDRESS: "/ip4/0.0.0.0/tcp/1234/http"
LOTUS_API_REMOTELISTENADDRESS: "${PORT_LOTUS?}"
LOTUS_CLIENT_USEIPFS: "true"
LOTUS_CLIENT_IPFSMADDR: "${IPFS_NODE?}"
LOTUS_CLIENT_IPFSUSEFORRETRIEVAL: "true"
#restart: on-failure
ports:
- "127.0.0.1:${PORT_LOTUS}:1234"
profiles: [ "filecoin" ]
ipfs:
# Maybe add https://github.com/filecoin-project/lassie for retrieval?
<<: *base-logging
restart: on-failure
build:
context: ./ipfs
args:
PORT_IPFS_GW:
PORT_IPFS_WS:
PORT_IPFS_API:
PORT_IPFS_GOSSIP:
profiles: [ "ipfs" ]
environment:
IPFS_PROFILE: server
IPFS_PATH: /ipfsdata
WEB_UI_IP: ${TUN0?}
IPFS_LOGGING: info
PORT_IPFS_GW:
PORT_IPFS_WS:
PORT_IPFS_API:
PORT_IPFS_GOSSIP:
volumes:
- ${IPFS_STORAGE}:/ipfsdata
ports:
- "${PORT_IPFS_GOSSIP?}:${PORT_IPFS_GOSSIP}/tcp" # ipfs gossip
- "${PORT_IPFS_GOSSIP?}:${PORT_IPFS_GOSSIP}/udp" # ipfs gossip
- "127.0.0.1:${PORT_IPFS_GW?}:${PORT_IPFS_GW}" # gateway local access (nginx)
- "${TUN0}:${PORT_IPFS_GW?}:${PORT_IPFS_GW}" # gateway vpn access (dev)
- "${TUN0}:${PORT_IPFS_WS?}:${PORT_IPFS_WS}" # websocket-listener
- "${TUN0}:${PORT_IPFS_API?}:${PORT_IPFS_API}" # api server (don't expose externally)
boost-client:
<<: *base-logging
restart: on-failure
build:
context: ./boost
args:
BOOST_VERSION:
BOOST_BUILD_TARGET:
FILECOIN_NETWORK:
command: bash -c "boost wallet import --format=hex-lotus --as-default /run/secrets/storage-wallet; echo waiting; while true; do sleep 1; done"
environment:
BOOST_CLIENT_REPO: /boost-client
FULLNODE_API_INFO: ${BOOST_FULLNODE_API_INFO?}
volumes:
- boost-client:/boost-client
secrets:
- storage-wallet
depends_on:
- boost-data
- lotus
boost-data:
<<: *base-logging
restart: on-failure
build:
context: ./boost
args:
BOOST_VERSION:
BOOST_BUILD_TARGET:
command: boostd-data run yugabyte --hosts yugabyte --connect-string="postgresql://yugabyte:yugabyte@yugabyte:5433/yugabyte?sslmode=disable" --addr=0.0.0.0:8044
environment:
PUBLISH_STORAGE_DEALS_WALLET: ${BOOST_STORAGE_WALLET?}
COLLAT_WALLET: ${BOOST_COLLAT_WALLET?}
depends_on:
- yugabyte
yugabyte:
<<: *base-logging
ports: [] # TODO: do we need ports?
# -7000:7000
# -9000:9000
# -15433:15433
# -5433:5433
# -9042:9042
image: yugabytedb/yugabyte:2.19.3.0-b140
command: bin/yugabyted start --daemon=false
fil-miners:
build: fil-miners
environment:
NET: $FILECOIN_NETWORK
secrets:
- fil-sp-db
fil-sp-db: &db
image: postgres:14-alpine
restart: always
ports:
- "${PORT_FIL_SP_DB?}:5432"
environment:
POSTGRES_USER: fil-sp-db
POSTGRES_DB: fil-sp-db
POSTGRES_PASSWORD_FILE: /run/secrets/fil-sp-db
volumes:
- fil-sp-db:/var/lib/postgresql/data
secrets:
- fil-sp-db
profiles: [ "filecoin", "backend"]
indexer:
build: indexer
# TODO: clean this up
command: daemon --config /etc/oura/daemon.toml
environment:
NODE_HOST: cntr-1.devices.kindstudios.gr
NODE_PORT: 25437
CARDANO_NETWORK:
SC_ADDRESS:
TUN0:
PORT_INDEXER_METRICS:
ports:
- "${TUN0}:${PORT_INDEXER_METRICS}:9186"
volumes:
- indexer-cursor:/run/oura/cursor
volumes:
nix-storage:
cardano-socket:
fil-sp-db:
indexer-cursor:
boost-client:
secrets:
fil-sp-db:
file: ops/secrets/fil-sp-db
storage-wallet:
file: ops/secrets/filecoin/storage.wallet