-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
103 lines (95 loc) · 3.13 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
version: '3.7'
services:
postgres:
image: postgres:10.14
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- ${POSTGRES_PORT}:5432
restart: always
volumes:
- ./docker-assets/init.sql:/docker-entrypoint-initdb.d/1-init.sql
- postgres_data:/var/lib/postgresql/data
graphql-engine:
image: hasura/graphql-engine:v1.3.2.cli-migrations-v2
ports:
- ${HASURA_PORT}:8080
restart: always
environment:
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_SECRET}
HASURA_GRAPHQL_DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:${POSTGRES_PORT}/${HASURA_DATABASE}
HASURA_GRAPHQL_ENABLE_CONSOLE: ${HASURA_ENABLE_CONSOLE}
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_AUTH_HOOK: http://${DOCKER_HOST_IP}:${PROXY_PORT}/${HASURA_WEBHOOK}
HASURA_EVENT_WEBHOOK: http://${DOCKER_HOST_IP}:${PROXY_PORT}/${HASURA_EVENT_WEBHOOK}
HASURA_EVENT_TOKEN: ${HASURA_EVENT_TOKEN}
volumes:
- ./hasura/migrations:/hasura-migrations
- ./hasura/metadata:/hasura-metadata
minio:
image: minio/minio:RELEASE.2020-07-20T02-25-16Z
volumes:
- file_data:/data
- minio_events:/events
ports:
- "${MINIO_PORT}:9000"
command: server /data
environment:
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
keycloak:
image: jboss/keycloak:6.0.1
environment:
DB_VENDOR: POSTGRES
DB_ADDR: postgres
DB_DATABASE: ${KEYCLOAK_DATABASE}
DB_USER: ${POSTGRES_USER}
DB_SCHEMA: public
DB_PASSWORD: ${POSTGRES_PASSWORD}
KEYCLOAK_USER: ${KEYCLOAK_USERNAME}
KEYCLOAK_PASSWORD: ${KEYCLOAK_PASSWORD}
KEYCLOAK_IMPORT: /opt/jboss/keycloak/realm-export.json
# Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it.
#JDBC_PARAMS: "ssl=true"
volumes:
- ./docker-assets/realm-export.json:/opt/jboss/keycloak/realm-export.json
ports:
- ${KEYCLOAK_PORT}:8080
depends_on:
- postgres
restart: always
redis:
image: redis:alpine
ports:
- 6379:6379
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./server/sessions:/sessions
restart: always
typesense:
image: typesense/typesense:0.19.0
environment:
TYPESENSE_DATA_DIR: /data
TYPESENSE_API_KEY: ${TYPESENSE_API_KEY}
ports:
- "${TYPESENSE_PORT}:8108"
volumes:
- typesense_data:/data
nginx:
image: nginx
volumes:
- ./docker-assets/nginx/:/etc/nginx/templates
ports:
- ${PROXY_PORT}:${PROXY_PORT}
environment:
- NGINX_HOST=127.0.0.1
- NGINX_PORT=${PROXY_PORT}
- DOCKER_HOST_IP=${DOCKER_HOST_IP}
- NEST_PORT=${NEST_PORT}
volumes:
typesense_data:
minio_events:
postgres_data:
file_data: