-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
98 lines (89 loc) · 2.15 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
name: intranet
services:
db:
image: postgres:16-alpine
ports:
- 5432:5432
environment:
- POSTGRES_DB=intranet
- POSTGRES_USER=intranet
- POSTGRES_PASSWORD=intranet
volumes:
- db_data:/var/lib/postgresql/data
configs:
- source: db_init_script
target: /docker-entrypoint-initdb.d/99-custom.sh
db_admin:
image: dpage/pgadmin4:8
depends_on:
- db
environment:
- PGADMIN_DEFAULT_PASSWORD=admin
ports:
- 5433:80
configs:
- source: db_password
target: /run/secrets/password.txt
- source: servers.json
target: /pgadmin4/servers.json
redis:
image: redis:7-alpine
ports:
- 6379:6379
meili:
image: getmeili/meilisearch:v1.6
ports:
- 7700:7700
environment:
MEILI_ENV: development
MEILI_MASTER_KEY: masterkey
volumes:
- meili_data:/meili_data
auth:
image: bitnami/keycloak:23.0.7
ports:
- 8888:8080
environment:
KEYCLOAK_ADMIN: intranet
KEYCLOAK_ADMIN_PASSWORD: intranet
KEYCLOAK_DATABASE_VENDOR: postgresql
KEYCLOAK_DATABASE_HOST: db
KEYCLOAK_DATABASE_PORT: 5432
KEYCLOAK_DATABASE_USER: intranet
KEYCLOAK_DATABASE_PASSWORD: intranet
KEYCLOAK_DATABASE_NAME: intranet
KEYCLOAK_DATABASE_SCHEMA: keycloak
KEYCLOAK_HTTP_RELATIVE_PATH: /
volumes:
db_data:
meili_data:
configs:
servers.json:
content: |
{
"Servers": {
"1": {
"Group": "intranet",
"Name": "intranet",
"Port": 5432,
"Username": "intranet",
"PassFile": "/run/secrets/password.txt",
"Host": "db",
"SSLMode": "prefer",
"MaintenanceDB": "postgres"
}
}
}
db_password:
content: intranet
db_init_script:
content: |
#!/bin/bash
set -e
echo "$$POSTGRES_USER"
echo "$$POSTGRES_DB"
psql -v ON_ERROR_STOP=1 --username "$$POSTGRES_USER" --dbname "$$POSTGRES_DB" <<-EOSQL
CREATE SCHEMA intranet;
CREATE SCHEMA keycloak;
EOSQL