-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.yml
154 lines (139 loc) · 3.26 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
version: "3.5"
services:
postgresql:
image: postgres:14.3
platform: linux/amd64
ports:
- "15432:5432"
env_file:
- env.d/postgresql
mysql:
image: mysql:8.0
platform: linux/amd64
env_file:
- env.d/mysql
command: --default-authentication-plugin=mysql_native_password
app:
build:
context: .
target: development
args:
DOCKER_USER: ${DOCKER_USER:-1000}
user: ${DOCKER_USER:-1000}
image: magnify:development
platform: linux/amd64
environment:
- DJANGO_CONFIGURATION=Development
env_file:
- env.d/common
- env.d/${DB_HOST:-postgresql}
ports:
- "8071:8000"
volumes:
- .:/app
depends_on:
- "${DB_HOST:-postgresql}"
stdin_open: true
tty: true
app-demo:
build:
context: .
target: production
args:
DOCKER_USER: ${DOCKER_USER:-1000}
user: ${DOCKER_USER:-1000}
image: magnify:production
platform: linux/amd64
environment:
- DJANGO_CONFIGURATION=Production
env_file:
- env.d/common
- env.d/demo
- env.d/${DB_HOST:-postgresql}
ports:
- "8072:8000"
depends_on:
- "${DB_HOST:-postgresql}"
nginx:
image: nginx
ports:
- "8070:8070"
volumes:
- ./docker/files/etc/nginx/${NGINX_CONF:-conf.d}:/etc/nginx/conf.d:ro
depends_on:
- app-demo
node:
image: node:16.15
working_dir: /app/src/frontend
user: "${DOCKER_USER:-1000}"
volumes:
- .:/app
crowdin:
image: crowdin/cli:3.7.8
platform: linux/amd64
volumes:
- ".:/app"
env_file:
- env.d/crowdin
user: "${DOCKER_USER:-1000}"
working_dir: /app
redis-sentinel:
image: docker.io/bitnami/redis-sentinel:6.0-debian-10
depends_on:
- redis-primary
- redis-replica1
- redis-replica2
environment:
- REDIS_MASTER_HOST=redis-primary
redis-primary:
image: docker.io/bitnami/redis:6.0-debian-10
environment:
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_REPLICATION_MODE=master
redis-replica1:
image: docker.io/bitnami/redis:6.0-debian-10
environment:
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-primary
depends_on:
- redis-primary
redis-replica2:
image: docker.io/bitnami/redis:6.0-debian-10
environment:
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-primary
depends_on:
- redis-primary
dockerize:
image: jwilder/dockerize
platform: linux/amd64
kc_postgresql:
image: postgres:14.3
platform: linux/amd64
ports:
- "5433:5432"
env_file:
- env.d/kc_postgresql
keycloak:
image: quay.io/keycloak/keycloak:20.0.1
volumes:
- ./docker/auth/realm.json:/opt/keycloak/data/import/realm.json
command:
- start-dev
- --features=preview
- --import-realm
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_DB: postgres
KC_DB_URL_HOST: kc_postgresql
KC_DB_URL_DATABASE: keycloak
KC_DB_PASSWORD: pass
KC_DB_USERNAME: fun
KC_DB_SCHEMA: public
ports:
- "8080:8080"
depends_on:
- kc_postgresql