-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yml
90 lines (83 loc) · 2.88 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
version: "3.5"
name: ${DOCKER_PROJECT_NAME}
services:
app: # proxy relies on this value
image: ${DOCKER_PROJECT_NAME}-app-img
container_name: ${DOCKER_PROJECT_NAME}-app-container
build:
context: ./react
dockerfile: ./.docker/app/Dockerfile
stdin_open: true
ports:
- ${APP_PORT}:${APP_PORT}
environment:
- NODE_ENV=${NODE_ENV}
- PORT=${APP_PORT} # only needed for development
- FAST_REFRESH=false
volumes:
- ./react:/opt/app-root/src
- /opt/app-root/src/node_modules # prevent overwrite of node_modules
- /dev/null:/opt/app-root/src/.env # ignore .env, instead inject env into container
networks:
- bctw-network
api:
image: ${DOCKER_PROJECT_NAME}-api-img
container_name: ${DOCKER_PROJECT_NAME}-api-container
build:
context: ./../bctw-api/bctw-api
dockerfile: ./.docker/api/Dockerfile
stdin_open: true
ports:
- ${API_PORT}:${API_PORT}
environment:
- NODE_ENV=${NODE_ENV}
- POSTGRES_SERVER_HOST=${POSTGRES_SERVER_HOST}
- POSTGRES_SERVER_PORT=${POSTGRES_SERVER_PORT}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- KEYCLOAK_ADMIN_USERNAME=${KEYCLOAK_ADMIN_USERNAME}
- KEYCLOAK_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
- BCTW_AUD=${KEYCLOAK_CLIENT_ID}
- SERVICE_AUD=${SERVICE_AUD}
- CRITTERBASE_API=${CRITTERBASE_API}
volumes:
- ./../bctw-api/bctw-api:/opt/app-root/src
- /opt/app-root/src/node_modules # prevent overwrite of node_modules
- /dev/null:/opt/app-root/src/.env # ignore .env, instead inject env into container
networks:
- bctw-network
proxy:
image: ${DOCKER_PROJECT_NAME}-proxy-img
container_name: ${DOCKER_PROJECT_NAME}-proxy-container
build:
context: ./backend
dockerfile: ./.docker/proxy/Dockerfile
stdin_open: true
ports:
- ${PROXY_PORT}:${PROXY_PORT}
environment:
- NODE_ENV=${NODE_ENV}
- HOST=http://${BCTW_HOST}:${PROXY_PORT}
- PROXY_PORT=${PROXY_PORT}
- BCTW_SESSION_SALT=${BCTW_SESSION_SALT}
- BCTW_API_HOST=${BCTW_HOST}
- BCTW_API_PORT=${API_PORT}
- BCTW_APP_PORT=${APP_PORT}
- KEYCLOAK_CLIENT_TYPE=${KEYCLOAK_CLIENT_TYPE}
- KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID}
- KEYCLOAK_CLIENT_SECRET=${KEYCLOAK_CLIENT_SECRET}
- KEYCLOAK_SERVER_URL=${KEYCLOAK_SERVER_URL}
- KEYCLOAK_REALM=${KEYCLOAK_REALM}
volumes:
- ./backend:/opt/app-root/src
#- ./react:/opt/app-root/src/react # make proxy aware of changes to react code
- /opt/app-root/src/node_modules # prevent overwrite of node_modules
- /dev/null:/opt/app-root/src/.env # ignore .env, instead inject env into container
networks:
- bctw-network
# TODO: create local db container for development
#postgres
networks:
bctw-network:
driver: bridge