/
docker-compose.yml
122 lines (107 loc) · 2.87 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
version: '3'
services:
app:
image: ${PREFIX}_${APP_CONTAINER_NAME}:latest
container_name: ${PREFIX}_${APP_CONTAINER_NAME}
build:
context: .
dockerfile: ./src/Dockerfile
command: >
sh -c "python manage.py runserver 0.0.0.0:8000"
ports:
- ${APP_PUBLIC_PORT}:8000
env_file:
- .env
volumes:
- ./src:/usr/src/app/
- static_volume:/home/app/staticfiles
- media_volume:/home/app/mediafiles
depends_on:
- mariadb
restart: always
app_grpc:
image: ${PREFIX}_${APP_CONTAINER_NAME}:latest
container_name: ${PREFIX}_${APP_CONTAINER_NAME}_grpc
ports:
- ${APP_GRPC_PUBLIC_PORT}:50051
build:
context: .
dockerfile: ./src/Dockerfile
command: >
sh -c "python manage.py grpcrunserver --dev"
env_file:
- .env
volumes:
- ./src/:/usr/src/app/
- static_volume:/home/app/staticfiles
- media_volume:/home/app/mediafiles
app_celery:
image: ${PREFIX}_${APP_CONTAINER_NAME}:latest
container_name: ${PREFIX}_${APP_CONTAINER_NAME}_celery
build:
context: .
dockerfile: ./src/Dockerfile
command: celery -A activation worker --loglevel=info
env_file:
- .env
volumes:
- ./src/:/usr/src/app/
- static_volume:/home/app/staticfiles
- media_volume:/home/app/mediafiles
depends_on:
- mariadb
- app
restart: always
app_celery_beat:
image: ${PREFIX}_${APP_CONTAINER_NAME}:latest
container_name: ${PREFIX}_${APP_CONTAINER_NAME}_celery_beat
build:
context: .
dockerfile: ./src/Dockerfile
command: celery -A activation beat -l info -S django
env_file:
- .env
volumes:
- ./src:/usr/src/app/
- static_volume:/home/app/staticfiles
- media_volume:/home/app/mediafiles
depends_on:
- mariadb
- app
restart: always
mariadb:
image: mariadb:10.6.5-focal
container_name: ${PREFIX}_${MARIADB_CONTAINER_NAME}
ports:
- ${MARIADB_PUBLIC_PORT}:${MARIADB_PORT}
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
# Auto Create DB
MYSQL_DATABASE: ${MARIADB_DATABASE}
volumes:
- mariadb_volume:/var/lib/mysql
- mariadb_volume:/var/www/scripts # Run: source /var/www/scripts/xxx.sql to import db
phpmyadmin:
image: phpmyadmin/phpmyadmin:5.1.0
container_name: ${PREFIX}_${PHPMYADMIN_CONTAINER_NAME}
environment:
PMA_HOST: mariadb
# PMA_PORT: ${MARIADB_PORT}
PMA_ARBITRARY: 1
UPLOAD_LIMIT: 300M
# MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
restart: always
ports:
- ${PHPMYADMIN_PUBLIC_PORT}:80
depends_on:
- mariadb
redis:
image: redis:6.2.6
container_name: ${PREFIX}_${REDIS_CONTAINER_NAME}
restart: always
volumes:
# postgres_data:
static_volume:
media_volume:
mariadb_volume: