-
Notifications
You must be signed in to change notification settings - Fork 0
/
mysql-docker-compose.yaml
105 lines (104 loc) · 2.5 KB
/
mysql-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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
version: "3.8"
services:
usercore_app:
image: usercore/usercore:0.0.1-dev # Change this to the image hash if you build the image locally
container_name: usercore_app
depends_on:
usercore_database:
condition: service_healthy
env_file:
- ./service/.env.dev
networks:
- usercore_net
#volumes:
# - app_data:/app
ports:
- 8000:8000
- 9000:9000
secrets:
- jwt_private_key
- jwt_public_key
- clients
- db_password
- server_cert.pem
- cache_password
deploy:
restart_policy:
condition: on-failure
usercore_cache:
image: redis:latest
container_name: usercore_cache
hostname: usercore_cache
networks:
- usercore_net
deploy:
restart_policy:
condition: on-failure
secrets:
- cache_password
environment:
REDIS_PASSWORD: run/secrets/cache_password
REDIS_USER: usercore
REDIS_PORT: 6379
#volumes:
# - cache_data:/data
ports:
- 6379:6379
usercore_database:
image: mariadb:latest
container_name: usercore_database
hostname: usercore_db
networks:
- usercore_net
healthcheck:
interval: 5s
retries: 10
test:
[
"CMD",
"healthcheck.sh",
"--su-mysql",
"--connect",
"--innodb_initialized",
]
timeout: 30s
secrets:
- db_password
- source: server_cert.pem
target: /etc/mysql/certs/server-cert.pem
- source: server_key.pem
target: /etc/mysql/certs/server-key.pem
#volumes:
# - db_data:/var/lib/mysql
command: >
--ssl-cert=/etc/mysql/certs/server-cert.pem
--ssl-key=/etc/mysql/certs/server-key.pem
environment:
MARIADB_USER: usercore
MARIADB_DATABASE: usercore
MARIADB_PASSWORD_FILE: /run/secrets/db_password
MARIADB_PORT: 3306
MARIADB_RANDOM_ROOT_PASSWORD: true
MARIADB_CHARSET: utf8
secrets:
jwt_private_key:
file: ./service/vault/example/jwt.private
jwt_public_key:
file: ./service/vault/example/jwt.public
clients:
file: ./service/vault/example/clients.json
server_cert.pem:
file: ./service/vault/example/certs/server-cert.pem
server_key.pem:
file: ./service/vault/example/certs/server-key.pem
cache_password:
file: ./service/vault/example/redis-pass.txt
db_password:
file: ./service/vault/example/db-pass.txt
networks:
usercore_net:
driver: bridge
#volumes:
#db_data:
#cache_data:
#app_data: