-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
136 lines (136 loc) · 3.42 KB
/
docker-compose.yml
File metadata and controls
136 lines (136 loc) · 3.42 KB
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
version: "3.9"
networks:
maxstore:
services:
mongo:
container_name: mongo
mem_limit: 2gb
image: mongo:latest
volumes:
- ./storage/mongo:/data/db
ports:
- "27017:27017"
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "100m"
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
healthcheck:
test:
- CMD
- mongosh
- --eval
- "db.adminCommand('ping')"
interval: 30s
timeout: 10s
retries: 5
networks:
- maxstore
timescale:
container_name: timescale
mem_limit: 16gb
image: timescale/timescaledb:latest-pg12
volumes:
- ./storage/timescale:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: maxstore
POSTGRES_DB: "postgres"
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "100m"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 30s
timeout: 10s
retries: 5
networks:
- maxstore
keycloak:
image: quay.io/keycloak/keycloak:22.0.3
container_name: keycloak
command:
- start-dev
- --log-level=ROOT:DEBUG
- --import-realm
ports:
- "8080:8080"
environment:
# keycloak.url: http://keycloak:8080
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_DB: postgres
KC_DB_PASSWORD: ${PG_PASSWORD}
KC_DB_SCHEMA: public
KC_DB_USERNAME: ${PG_USER}
KC_DB_URL_HOST: timescale
KC_DB_URL_PORT: 5432
KC_DB_URL_DATABASE: ${PG_DATABASE}
KEYCLOAK_LOGLEVEL: DEBUG
networks:
- maxstore
volumes:
- "./realm.json:/opt/keycloak/data/import/realm.json"
- "./themes:/opt/keycloak/themes"
depends_on:
- timescale
profiles:
- "keycloak"
restart: on-failure
migrations:
image: 09078601/migrations:v1.0.2
pull_policy: always
networks:
- maxstore
volumes:
- ./pg-migrations:/app/migrations
env_file:
- .env
depends_on:
timescale:
condition: service_healthy
maxengine:
container_name: maxengine
image: 09078601/maxengine:v1.0.0
ports:
- "4000:4000"
pull_policy: if_not_present
networks:
- maxstore
env_file:
- .env
environment:
- KEYCLOAK_URL="keycloak:8080"
- KEYCLOAK_REALM=${KEYCLOAK_REALM}
- KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID}
- KEYCLOAK_CLIENT_SECRET=${KEYCLOAK_CLIENT_SECRET}
depends_on:
- keycloak
- timescale
profiles:
- "all"
mysql:
container_name: mysql
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: grazle
MYSQL_USER: grazleuser
MYSQL_PASSWORD: AnotherStr0ngP@ssw0rd!
ports:
- "3307:3307"
volumes:
- ./storage/mysql:/var/lib/mysql
networks:
- maxstore
profiles:
- "mysql"