-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.local.yaml
100 lines (95 loc) · 2.14 KB
/
docker-compose.local.yaml
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
services:
frontend:
image: ghcr.io/iot4h/portal-ui
build:
context: ./frontend
target: deps
container_name: frontend
env_file:
- .local.env
restart: unless-stopped
depends_on:
- strapi
ports:
- 3000:3000
volumes:
- ./frontend:/app
- /app/node_modules
command: npx next dev -p 3000
portaldb:
image: postgres
restart: unless-stopped
container_name: portaldb
env_file:
- .local.env
ports:
- 5432:5432
healthcheck:
test:
['CMD-SHELL', 'pg_isready -U $$DATABASE_USERNAME -d $$DATABASE_NAME']
interval: 10s
timeout: 5s
retries: 5
strapi:
image: ghcr.io/iot4h/portal-api
build:
context: ./strapi-backend
container_name: strapi
restart: unless-stopped
env_file:
- .local.env
ports:
- 1337:1337
depends_on:
portaldb:
condition: service_healthy
mytb:
condition: service_healthy
volumes:
- ./uploads:/opt/app/public/uploads
- ./strapi-backend:/opt/app
- /opt/app/node_modules
command: >
sh -c "
cd /opt/app/src/plugins/thingsboard-plugin &&
npx tsc -p tsconfig.server.json &&
npx tsc -p tsconfig.server.json -w &
cd /opt/app &&
npx strapi develop
"
flashdata:
image: ghcr.io/iot4h/portal-littlefs-creator
build:
context: ./littlefs-data-creator
container_name: flashdata
restart: unless-stopped
ports:
- 3001:3001
volumes:
- ./littlefs-data-creator/mklittlefs/debug:/tmp
mytb:
restart: unless-stopped
image: 'ghcr.io/iot4h/iot4h-platform:3.6.2-IOT4H.2'
container_name: mytb
env_file:
- .local.env
ports:
- 8080:9090
- 9090:9090
- 1883:1883
- 7070:7070
- 5683-5688:5683-5688/udp
- 5433:5432
volumes:
- mytb-data:/data
- mytb-logs:/var/log/thingsboard
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'http://localhost:9090']
interval: 30s
timeout: 10s
retries: 5
volumes:
mytb-data:
external: true
mytb-logs:
external: true