-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
100 lines (93 loc) · 3.29 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
version: '2.2'
services :
#############################################################################
# Mock S3
static_assets :
image : scality/s3server:latest
container_name : s3
mem_limit : 512m
ports :
- "${AWS_S3_PORT}:8000"
volumes :
- "./tmp/env/${NODE_ENV}/mocks3/buckets/main/data:/usr/src/app/localData:cached"
- "./tmp/env/${NODE_ENV}/mocks3/buckets/main/meta:/usr/src/app/localMetadata:cached"
- "./run/env/${NODE_ENV}/mocks3/config.json:/usr/src/app/conf/config.json"
- "./run/env/${NODE_ENV}/mocks3/locationConfig.json:/usr/src/app/conf/locationConfig.json"
#############################################################################
# Redis
cache :
image : redis:4.0.2-alpine
container_name : redis
mem_limit : 256m
command : ["redis-server", "/usr/local/etc/redis/redis.conf"]
ports :
- "${REDIS_PORT}:6379"
volumes :
- "./tmp/env/${NODE_ENV}/redisdata:/data:cached"
- "./etc/redis/redis.conf:/usr/local/etc/redis/redis.conf"
#############################################################################
# MySQL
database :
image : seancannon/dev_mysql
hostname : mysql
container_name : mysql
mem_limit : 512m
environment :
- "MYSQL_ROOT_PASSWORD=${CORE_DB_ROOT_PASSWORD}"
- "TZ=${CORE_DB_TIMEZONE}"
volumes :
- "${MYSQL_VOLUME_MOUNT}"
tmpfs :
- "${MYSQL_TMPFS}"
ports :
- "${CORE_DB_PORT}:3306"
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-u", "root", "--password=${CORE_DB_ROOT_PASSWORD}"]
timeout: 20s
retries: 10
command: mysqld --max_allowed_packet=64M
#############################################################################
# PHPMyAdmin
dbgui :
image : phpmyadmin/phpmyadmin:4.9
container_name : phpmyadmin
mem_limit : 4092m
environment :
- "MYSQL_USERNAME=${CORE_DB_USER}"
- "MYSQL_ROOT_PASSWORD=${CORE_DB_ROOT_PASSWORD}"
- "UPLOAD_LIMIT=3000000000"
links :
- database:db
ports :
- "${PHPMYADMIN_PORT}:80"
volumes:
- "./tmp/env/${NODE_ENV}/phpmyadmin/sessions:/sessions"
depends_on:
database:
condition: service_healthy
#############################################################################
# ElasticSearch
search :
image : docker.elastic.co/elasticsearch/elasticsearch:7.0.1
mem_limit : 2g
container_name : elasticsearch
environment :
- "discovery.type=single-node"
volumes :
- "./tmp/env/${NODE_ENV}/esdata:/usr/share/elasticsearch/data:cached"
ports :
- "${SEARCH_PORT}:9200"
#############################################################################
# Vault
secret :
image : vault:0.8.3
container_name : vault
mem_limit : 256m
environment :
- "VAULT_DEV_ROOT_TOKEN_ID=${VAULT_DEV_ROOT_TOKEN_ID}"
- "VAULT_LOCAL_CONFIG=${VAULT_LOCAL_CONFIG}"
volumes :
- "./tmp/env/${NODE_ENV}/vault/file:/vault/file:cached"
- "./tmp/env/${NODE_ENV}/vault/logs:/vault/logs:cached"
ports :
- "${VAULT_PORT}:8200"