-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
executable file
·137 lines (131 loc) · 3.46 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
version: "3.4"
services:
##
# API
api:
build:
context: ./
dockerfile: ./Dockerfile-API
target: development
environment:
SSL_CERT: /etc/ssl/server.cert
SSL_KEY: /etc/ssl/server.key
UI_BASE_URL: https://localhost:3001
JWK_PRIVATE_FILE_PATH: /srv/infrastructure/api/jwk-private.json
JWK_PUBLIC_FILE_PATH: /srv/infrastructure/api/jwk-public.json
DB_HOST: api-db
DB_PORT: 3306
DB_NAME: vl-api
DB_USER: web
DB_PASSWORD: teddy-matrix-husky
DB_SYNCHRONIZE: "true"
DB_LOGGING: "true"
volumes:
- ./:/srv
- ./infrastructure/ssl/server.cert:/etc/ssl/server.cert
- ./infrastructure/ssl/server.key:/etc/ssl/server.key
- /srv/node_modules
- /srv/applications/api/node_modules
- /srv/applications/ui/node_modules
- /srv/packages/tslint-config/node_modules
- /srv/packages/utils/node_modules
depends_on:
- api-db
- ipfs
- elasticsearch
networks:
- frontend
- backend
ports:
- "3000:3000"
- "9229:9229"
# - "5001:5001" # This setting is experimental. For trying out the connection between the container and docker host
ipfs-proxy:
image: nginxinc/nginx-unprivileged:1.16-alpine
depends_on:
- ipfs
networks:
- frontend
- backend
ports:
- "8443:8443"
volumes:
- ./ipfs-proxy/includes:/etc/nginx/includes
- ./ipfs-proxy/conf.d:/etc/nginx/conf.d
- ./infrastructure/ssl/server.cert:/etc/ssl/server.cert
- ./infrastructure/ssl/server.key:/etc/ssl/server.key
ipfs:
image: ipfs/go-ipfs:latest
volumes:
- /export
- /data/ipfs
- ./infrastructure/ipfs/container_daemon:/usr/local/bin/start_ipfs
networks:
- backend
ports:
- "5001:5001"
- "4001:4001"
- "8080:8080"
api-db:
image: mariadb:10.3
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
environment:
MYSQL_ROOT_PASSWORD: reviving-unbaked-eldest
MYSQL_DATABASE: vl-api
MYSQL_USER: web
MYSQL_PASSWORD: teddy-matrix-husky
networks:
- backend
ports:
- "3306:3306"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
networks:
- backend
depends_on:
- api-db
environment:
- http.host=0.0.0.0
- transport.host=127.0.0.1
# - ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- discovery.type=single-node
- bootstrap.memory_lock=true
# - ES_JAVA_OPTS: "-Xms750m -Xmx750m"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- /usr/share/elasticsearch/data
ports:
- "9200:9200"
##
# UI
ui:
build:
context: ./
dockerfile: ./Dockerfile-UI
target: development
environment:
HTTPS: "true"
PORT: 3001
APP_API_ENDPOINT: https://localhost:3000
APP_WEB3_PROVIDER_ENDPOINT: ws://localhost:8546
APP_IPFS_SWARM_ADDR: /ip4/127.0.0.1/tcp/8443/wss/ipfs
APP_IPFS_API_ADDR: /ip4/127.0.0.1/tcp/5001
APP_IPFS_GATEWAY_ADDR: /ip4/127.0.0.1/tcp/8080
volumes:
- ./:/srv
- /srv/node_modules
- /srv/applications/api/node_modules
- /srv/applications/ui/node_modules
- /srv/packages/tslint-config/node_modules
- /srv/packages/utils/node_modules
ports:
- "3001:3001"
depends_on:
- api
networks:
- frontend
networks:
frontend:
driver: bridge
backend:
driver: bridge