-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
130 lines (122 loc) · 3.45 KB
/
docker-compose.yml
File metadata and controls
130 lines (122 loc) · 3.45 KB
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
version: '3'
services:
# hardhat is a local evm compatiable chain deployment
# for testing against. this container starts up a new chain
# and provisions our contracts.
# RPC is available at http://localhost:8545
hardhat:
restart: always
build:
context: ./solidity
environment:
DUNGEON_STRENGTH: "weak"
RELIC_ASSETS_URL: "http://localhost:8080/"
MINER_BLOCKTIME: "1"
ports:
- 8545:8545
volumes:
- ./solidity/allowlists:/solidity/allowlists
- ./solidity/scripts:/solidity/scripts
- ./solidity/contracts:/solidity/contracts
- deployment-config:/config
- hardhat-artifacts:/solidity/artifacts
- hardhat-cache:/solidity/cache
- hardhat-db:/db
- hardhat-deployments:/solidity/deployments
- .:/host
# relay is our graphql-based API that proxies and caches
# communication between blockchain backends for use by frontends
# a debug/query tool is available at http://localhost:3080
relay:
restart: always
build:
context: ./relay
entrypoint:
- /bin/sh
- -eu
- -c
- |
/wait-for -it hardhat:8545 -f /config/deployment.json -t 300
exec /server
environment:
DUNGEON_STRENGTH: "weak"
RELAY_DEPLOYMENT_CONFIG: "/config/deployment.json"
RELAY_PRIVATE_KEY: "095a37ef5b5d87db7fe50551725cb64804c8c554868d3d729c0dd17f0e664c87"
RELAY_ENABLE_WATCH_PENDING: "false" # only supported by alchemy
volumes:
- deployment-config:/config
ports:
- 3080:8080
profiles:
- relay
- frontend
- dev
depends_on:
- hardhat
# frontend is the main crypt client
# the UI is available at: http://localhost:3005
frontend:
restart: always
build:
context: ./frontend
dockerfile: Dockerfile.dev
environment:
NEXT_PUBLIC_CHAIN_ID: "31337"
NEXT_PUBLIC_GOOGLE_TAG_MANAGER: "MQTD8NC"
NEXT_PUBLIC_DUNGEON_STRENGTH: "weak"
NEXT_PUBLIC_ENABLE_BEST_LOOT_CALCULATION: "1"
NEXT_PUBLIC_LOCAL_RELAY_URL: "http://localhost:3080/query"
NEXT_PUBLIC_RINKEBY_RELAY_URL: "http://localhost:8181/query"
ports:
- 3005:3005
volumes:
- ./frontend:/app
- ./relay/graph/schema:/relay/graph/schema
- /app/.next
- ./unity-seeker-soul-minter/Builds:/app/public/seeker-soul-minter
profiles:
- dev
- frontend
depends_on:
- relay
# devtool is another frontend client which contains
# UI for calling contract functions that we do not need
# or do not want in production deployments of frontend
# the UI is available at: http://localhost:3000
devtool:
restart: always
build:
context: ./frontend-dev
dockerfile: Dockerfile.dev
environment:
NEXT_PUBLIC_ETHEREUM_NETWORK: "localhost"
NEXT_PUBLIC_CHAIN_ID: "31337"
ports:
- 3000:3000
volumes:
- ./frontend-dev:/app
- /app/.next
- deployment-config:/solidity/deployments
profiles:
- dev
depends_on:
- relay
# relicassets is an image server that composes
# the relic asset images for a requested set of attributes
# requests like: http://localhost:8080/0-1-1-0-3-0-0-0-Chapter1.png
relicassets:
restart: always
build:
context: ./relic-assets
environment:
RELIC_ASSET_RATE_LIMTER: "false"
ports:
- 8080:8080
profiles:
- dev
volumes:
deployment-config:
hardhat-artifacts:
hardhat-cache:
hardhat-db:
hardhat-deployments: