-
Notifications
You must be signed in to change notification settings - Fork 1
/
dev.yml
143 lines (132 loc) · 3.2 KB
/
dev.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
version: '3.9'
services:
db:
image: postgres:14.5
container_name: cosmos_notifier_db
ports:
- "5432:5432"
volumes:
- data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=cosmos-notifier-db
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "postgres" ]
interval: 5s
timeout: 5s
retries: 5
db-migration:
build: go
container_name: cosmos_notifier_db_migration
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier db migrate"
depends_on:
db:
condition: service_healthy
nodejs:
build: nodejs
container_name: cosmos_notifier_nodejs
working_dir: /usr/src/app
volumes:
- /usr/app/node_modules
command: npm run start
# ports:
# - "8081:8081"
healthcheck:
test: curl --fail http://localhost:8081 || exit 1
interval: 10s
retries: 3
timeout: 10s
telegram:
build: go
container_name: cosmos_notifier_telegram
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier service telegram"
depends_on:
db:
condition: service_healthy
db-migration:
condition: service_completed_successfully
grpc:
build: go
container_name: cosmos_notifier_grpc
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier service grpc"
depends_on:
db:
condition: service_healthy
db-migration:
condition: service_completed_successfully
contract-crawler:
build: go
container_name: cosmos_notifier_contract_crawler
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier service contract-crawler --repeat"
depends_on:
nodejs:
condition: service_healthy
db:
condition: service_healthy
db-migration:
condition: service_completed_successfully
chain-crawler:
build: go
container_name: cosmos_notifier_chain_crawler
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier service chain-crawler --repeat"
depends_on:
nodejs:
condition: service_healthy
db:
condition: service_healthy
db-migration:
condition: service_completed_successfully
validator-crawler:
build: go
container_name: cosmos_notifier_validator_crawler
working_dir: /app
env_file:
- .env
command: "/cosmos-notifier service validator-crawler --repeat"
depends_on:
nodejs:
condition: service_healthy
db:
condition: service_healthy
db-migration:
condition: service_completed_successfully
envoy:
image: envoyproxy/envoy-dev
container_name: cosmos_notifier_envoy
extra_hosts:
- "grpc:host-gateway"
ports:
- "8090:8090"
volumes:
- ./docker/envoy/envoy.yaml:/etc/envoy/envoy.yaml
webapp:
env_file:
- .env
build:
context: webapp
dockerfile: flutter.Dockerfile
args:
CONFIG_FILE: ${FLUTTER_CONFIG_FILE}
container_name: cosmos_notifier_webapp
ports:
- "80:80"
volumes:
data:
name: cosmos_notifier_data
pgadmin: