-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.prod.yml
112 lines (104 loc) · 3.44 KB
/
docker-compose.prod.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
services:
traefik:
image: traefik:v3.1
container_name: traefik
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--log.format=json"
- "--log.level=INFO"
ports:
- "${OPIDI_PORT:-4200}:80"
- "8081:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- opidi-network
dynamodb-local:
command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data -port 4566"
image: "amazon/dynamodb-local:latest"
container_name: dynamodb-local
ports:
- "4566:4566"
volumes:
- "${DYNAMODB_LOCAL_DATA_PATH:-./.data/dynamodb}:/home/dynamodblocal/data"
working_dir: /home/dynamodblocal
networks:
- opidi-network
crud-api:
build:
context: ./services
dockerfile: ./crud_api/Dockerfile
labels:
- "traefik.enable=true"
- "traefik.http.routers.crud-api.rule=PathPrefix(`/opidi-crud`)"
- "traefik.http.services.crud-api.loadbalancer.server.port=80"
container_name: crud-api
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- OPIDI_CRUD_BUCKET_HOST=${OPIDI_CRUD_BUCKET_HOST}
- OPIDI_CRUD_BUCKET_NAME=opidi-protocols-prod
- OPIDI_PROTOCOL_CRUD_TABLE_HOST=${OPIDI_PROTOCOL_CRUD_TABLE_HOST}
- OPIDI_TAG_CRUD_TABLE_HOST=${OPIDI_TAG_CRUD_TABLE_HOST}
- OPIRUN_TOKENS=${OPIRUN_TOKENS}
- SESSION_TIMEOUT=${SESSION_TIMEOUT:-}
networks:
- opidi-network
device-api:
build:
context: ./services
dockerfile: ./device_api/Dockerfile
labels:
- "traefik.enable=true"
- "traefik.http.routers.device-api.rule=PathPrefix(`/opidi-device`)"
- "traefik.http.services.device-api.loadbalancer.server.port=80"
container_name: device-api
environment:
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- OPIRUN_TOKENS=${OPIRUN_TOKENS}
- SESSION_TIMEOUT=${SESSION_TIMEOUT:-}
networks:
- opidi-network
event-logger:
build:
context: ./services
dockerfile: ./event_logger/Dockerfile
container_name: event-logger
labels:
- "traefik.enable=true"
- "traefik.http.routers.event-logger.rule=PathPrefix(`/opidi-event-logger`)"
- "traefik.http.services.event-logger.loadbalancer.server.port=80"
networks:
- opidi-network
volumes:
- "./.data:/code/event_logger/.data"
frontend:
build:
context: ./client
dockerfile: Dockerfile
args:
- VUE_APP_MOCK_BACKEND=${VUE_APP_MOCK_BACKEND:+1}
- VUE_APP_LOG_GROUP_NAME=${VUE_APP_LOG_GROUP_NAME:-opidi-dev}
- VUE_APP_GOOGLE_AUTH_CLIENT_ID=${VUE_APP_GOOGLE_AUTH_CLIENT_ID:-}
- VUE_APP_CRUD_API_URL=${VUE_APP_CRUD_API_URL}
- VUE_APP_DEVICE_API_URL=${VUE_APP_DEVICE_API_URL}
- VUE_APP_EVENT_LOGGER_API_URL=${VUE_APP_EVENT_LOGGER_API_URL}
- APP_VERSION=${APP_VERSION:-0.0.0-alpha}
container_name: frontend
labels:
- "traefik.enable=true"
- "traefik.http.routers.frontend.rule=PathPrefix(`/`)"
- "traefik.http.routers.frontend.entrypoints=web"
- "traefik.http.services.frontend.loadbalancer.server.port=80"
networks:
- opidi-network
depends_on:
- crud-api
- device-api
networks:
opidi-network: