-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
115 lines (115 loc) · 3.13 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
version: '2.1'
networks:
microblog:
external:
name: "${ENV_NETWORK}"
volumes:
microblog-mysql-volume:
driver: "${ENV_VOLUME_DRIVER}"
microblog-app-volume:
driver: "${ENV_VOLUME_DRIVER}"
microblog-es-volume:
driver: "${ENV_VOLUME_DRIVER}"
microblog-redis-volume:
driver: "${ENV_VOLUME_DRIVER}"
microblog-worker-volume:
driver: "${ENV_VOLUME_DRIVER}"
services:
microblog-redis:
container_name: redis
image: redis:3-alpine
restart: always
logging:
driver: "${ENV_LOGGING_DRIVER}"
networks:
- microblog
volumes:
- microblog-redis-volume:/data
microblog-mysql:
container_name: mysql
image: mysql:5.7
restart: always
logging:
driver: "${ENV_LOGGING_DRIVER}"
networks:
- microblog
volumes:
- microblog-mysql-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${ENV_MYSQL_ROOTPW}
MYSQL_USER: ${ENV_MYSQL_USER}
MYSQL_PASSWORD: ${ENV_MYSQL_USERPW}
MYSQL_DATABASE: ${ENV_MYSQL_DATABASE}
microblog-es:
container_name: es
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.1
restart: always
logging:
driver: "${ENV_LOGGING_DRIVER}"
networks:
- microblog
volumes:
- microblog-es-volume:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
microblog-app:
container_name: app
build: .
image: microblog
restart: always
logging:
driver: "${ENV_LOGGING_DRIVER}"
networks:
- microblog
ports:
- "80:5000"
volumes:
- microblog-app-volume:/home/microblog
depends_on:
- "microblog-es"
- "microblog-mysql"
- "microblog-redis"
environment:
DB_TCP_ADDR: microblog-mysql
DB_TCP_PORT: 3306
ES_TCP_ADDR: microblog-es
ES_TCP_PORT: 9200
#MAIL_SERVER: ${ENV_MAIL_SERVER}
#MAIL_PORT: ${ENV_MAIL_PORT}
#MAIL_USE_TLS: ${ENV_MAIL_TLS}
#MAIL_USERNAME: ${ENV_MAIL_USER}
#MAIL_PASSWORD: ${ENV_MAIL_PASSWORD}
ELASTICSEARCH_URL: http://microblog-es:9200
DATABASE_URL: mysql+pymysql://${ENV_MYSQL_USER}:${ENV_MYSQL_USERPW}@microblog-mysql:3306/${ENV_MYSQL_DATABASE}
REDIS_URL: redis://microblog-redis:6379/0
microblog-worker:
container_name: worker
image: microblog
restart: always
logging:
driver: "${ENV_LOGGING_DRIVER}"
networks:
- microblog
volumes:
- microblog-worker-volume:/home/microblog
depends_on:
- "microblog-app"
environment:
DB_TCP_ADDR: microblog-mysql
DB_TCP_PORT: 3306
ES_TCP_ADDR: microblog-es
ES_TCP_PORT: 9200
#MAIL_SERVER: ${ENV_MAIL_SERVER}
#MAIL_PORT: ${ENV_MAIL_PORT}
#MAIL_USE_TLS: ${ENV_MAIL_TLS}
#MAIL_USERNAME: ${ENV_MAIL_USER}
#MAIL_PASSWORD: ${ENV_MAIL_PASSWORD}
ELASTICSEARCH_URL: http://microblog-es:9200
DATABASE_URL: mysql+pymysql://${ENV_MYSQL_USER}:${ENV_MYSQL_USERPW}@microblog-mysql:3306/${ENV_MYSQL_DATABASE}
REDIS_URL: redis://microblog-redis:6379/0
entrypoint:
- venv/bin/rq
- worker
- -u
- redis://microblog-redis:6379/0
- microblog-tasks