-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
86 lines (80 loc) · 1.79 KB
/
docker-compose.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
version: '3.2'
volumes:
mariadb: ~
redis: ~
services:
db:
image: mariadb:11
restart: always
init: true
environment:
MARIADB_ROOT_PASSWORD: root
MARIADB_USER: &database_user user
MARIADB_PASSWORD: &database_password password
MARIADB_DATABASE: &database_name desowarehouse
volumes:
- mariadb:/var/lib/mysql
- ./db/initdb.d:/docker-entrypoint-initdb.d:ro
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
interval: 2s
timeout: 2s
retries: 3
start_period: 20s
start_interval: 5s
api:
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
image: desowarehouse-api
restart: always
build: api
init: true
environment:
DATABASE_HOST: db
DATABASE_USER: *database_user
DATABASE_PASSWORD: *database_password
DATABASE_NAME: *database_name
ports:
- 8080:8080
volumes:
- ./api:/usr/local/src:ro
command: [uvicorn, main:app, --host=0.0.0.0, --port=8080, --reload]
redis:
image: redis:7
restart: always
init: true
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- redis:/data
command:
- redis-server
- --save
- '60'
- '1'
- --loglevel
- warning
ui:
depends_on: [api]
image: desowarehouse-ui-dev
build:
context: ui
dockerfile: Dockerfile.dev
restart: always
init: true
ports:
- 3000:3000
volumes:
- ./ui:/usr/local/src
environment:
API_URL: http://api:8080
command: [nodemon, -e, 'js,ejs,mjs,cjs,json']
adminer:
depends_on: [db]
image: adminer
restart: always
ports:
- 8888:8080