-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathdocker-compose.yml
91 lines (88 loc) · 2.97 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
version: "2.4"
services:
database:
image: postgis/postgis:13-3.1
environment:
- POSTGRES_USER=districtbuilder
- POSTGRES_PASSWORD=districtbuilder
- POSTGRES_DB=districtbuilder
healthcheck:
test: pg_isready -q -h database -U districtbuilder
interval: 3s
timeout: 3s
retries: 3
start_period: 5s
server:
image: districtbuilder
environment:
- POSTGRES_HOST=database
- POSTGRES_PORT=5432
- POSTGRES_USER=districtbuilder
- POSTGRES_PASSWORD=districtbuilder
- POSTGRES_DB=districtbuilder
- TYPEORM_HEALTH_CHECK_TIMEOUT=3000
- NODE_ENV=Development
- NODE_OPTIONS=--max-old-space-size=16384
- AWS_PROFILE=${AWS_PROFILE:-district-builder}
- AWS_REGION=${AWS_REGION:-us-east-1}
- JWT_SECRET=insecure
- JWT_EXPIRATION_IN_MS=604800000 # 1 week
- CLIENT_URL=http://localhost:3003
- TOPOLOGY_CACHE_DIRECTORY=/opt/topology
build:
context: ./src/server
dockerfile: Dockerfile
volumes:
- ./src/server:/home/node/app/server
- ./src/shared:/home/node/app/shared
- /var/cache/district-builder-server-node-modules:/home/node/app/server/node_modules
- /var/cache/district-builder-server-topology:/opt/topology
- $HOME/.cache/district-builder:/usr/local/share/.cache/yarn
- $HOME/.aws:/root/.aws:ro
working_dir: /home/node/app/server
depends_on:
database:
condition: service_healthy
command: start:dev
mem_limit: 12g
memswap_limit: 12g
client:
image: node:16-bullseye-slim
environment:
- BASE_URL=${BASE_URL:-http://server:3005}
- PORT=3003
- REACT_APP_ROLLBAR_CLIENT_ACCESS_TOKEN
- DISABLE_NEW_JSX_TRANSFORM=true
volumes:
- ./:/home/node/app
- ./src/server/dist/server/src/static:/home/node/app/build
- /var/cache/district-builder-client-node-modules:/home/node/app/node_modules
- $HOME/.cache/district-builder:/usr/local/share/.cache/yarn
working_dir: /home/node/app
command: yarn start
manage:
image: districtbuilder-manage
environment:
- POSTGRES_HOST=database
- POSTGRES_PORT=5432
- POSTGRES_USER=districtbuilder
- POSTGRES_PASSWORD=districtbuilder
- POSTGRES_DB=districtbuilder
- AWS_PROFILE=${AWS_PROFILE:-district-builder}
- NODE_OPTIONS=--max-old-space-size=16384
build:
context: ./src/manage
dockerfile: Dockerfile
volumes:
- ./src/server:/home/node/app/server
- ./src/shared:/home/node/app/shared
- ./src/manage:/home/node/app/manage
- /var/cache/district-builder-server-node-modules:/home/node/app/server/node_modules
- /var/cache/district-builder-manage-node-modules:/home/node/app/manage/node_modules
- $HOME/.cache/district-builder:/usr/local/share/.cache/yarn
- $HOME/.aws:/root/.aws:ro
working_dir: /home/node/app/manage
depends_on:
database:
condition: service_healthy
command: bash