-
-
Notifications
You must be signed in to change notification settings - Fork 129
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
122 lines (122 loc) · 4.52 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
122 lines (122 loc) · 4.52 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
# This is a minimal compose file, meant to be extended using files from the distribution/compose folder
# Consult the GETTING_STARTED.md
services:
database:
container_name: database
image: ghcr.io/dyrector-io/dyrectorio/multi-database:1.0.4
environment:
- POSTGRES_PASSWORD=${ROOT_POSTGRES_PASSWORD}
- CRUX_POSTGRES_PASSWORD=${CRUX_POSTGRES_PASSWORD}
- KRATOS_POSTGRES_PASSWORD=${KRATOS_POSTGRES_PASSWORD}
restart: unless-stopped
volumes: ['database:/var/lib/postgresql/data']
healthcheck:
# testing the healtheck with a specific database and users
test: [CMD-SHELL, pg_isready -d crux -U crux_user]
interval: 5s
timeout: 5s
retries: 5
labels:
- org.dyrectorio.service-category=_internal
crux:
container_name: crux
image: ghcr.io/dyrector-io/dyrectorio/web/crux:${DYO_VERSION:-stable}
command: [serve]
environment:
- TZ=${TIMEZONE:-UTC}
- LOG_LEVEL=${LOG_LEVEL:-debug}
- DATABASE_URL=postgresql://crux_user:${CRUX_POSTGRES_PASSWORD}@database:5432/crux?schema=public
- KRATOS_ADMIN_URL=http://kratos:4434
- KRATOS_URL=http://kratos:4433
- CRUX_UI_URL=${EXTERNAL_PROTO}://${DOMAIN}:${EXTERNAL_PORT}
- CRUX_AGENT_ADDRESS=${CRUX_AGENT_HOST}:${EXTERNAL_PORT}
- JWT_SECRET=${CRUX_SECRET}
- FROM_EMAIL=${FROM_EMAIL}
- FROM_NAME=${FROM_NAME}
- SMTP_URI=${SMTP_URI}
- NODE_ENV=${NODE_ENV}
- DISABLE_RECAPTCHA=${DISABLE_RECAPTCHA:-true}
- RECAPTCHA_SECRET_KEY=${RECAPTCHA_SECRET_KEY}
- RECAPTCHA_SITE_KEY=${RECAPTCHA_SITE_KEY}
- QA_OPT_OUT=${QA_OPT_OUT:-false}
- ENCRYPTION_SECRET_KEY=${ENCRYPTION_SECRET_KEY}
depends_on:
database:
condition: service_healthy
crux-migrate:
condition: service_completed_successfully
restart: unless-stopped
labels:
- org.dyrectorio.service-category=_internal
# ports:
# - 1848:1848 # http API
crux-migrate:
container_name: crux-migrate
image: ghcr.io/dyrector-io/dyrectorio/web/crux:${DYO_VERSION:-stable}
command: [migrate]
environment:
- TZ=${TIMEZONE:-UTC}
- DATABASE_URL=postgresql://crux_user:${CRUX_POSTGRES_PASSWORD}@database:5432/crux?schema=public&connect_timeout=5
depends_on:
database:
condition: service_healthy
restart: 'no'
labels:
- org.dyrectorio.service-category=_internal
crux-ui:
container_name: crux-ui
image: ghcr.io/dyrector-io/dyrectorio/web/crux-ui:${DYO_VERSION:-stable}
environment:
- TZ=${TIMEZONE:-UTC}
- CRUX_UI_URL=${EXTERNAL_PROTO}://${DOMAIN}:${EXTERNAL_PORT}
- KRATOS_URL=http://kratos:4433
- KRATOS_ADMIN_URL=http://kratos:4434
- CRUX_URL=http://crux:1848
- DISABLE_RECAPTCHA=${DISABLE_RECAPTCHA:-true}
- RECAPTCHA_SECRET_KEY=${RECAPTCHA_SECRET_KEY}
- RECAPTCHA_SITE_KEY=${RECAPTCHA_SITE_KEY}
depends_on:
crux:
condition: service_started
restart: unless-stopped
labels:
- org.dyrectorio.service-category=_internal
kratos:
container_name: kratos
image: ghcr.io/dyrector-io/dyrectorio/web/kratos:${DYO_VERSION:-stable}
environment:
- SQA_OPT_OUT=true
- DSN=postgres://kratos_user:${KRATOS_POSTGRES_PASSWORD}@database:5432/kratos?sslmode=disable&max_conns=20&max_idle_conns=4&connect_timeout=5
- KRATOS_URL=${EXTERNAL_PROTO}://${DOMAIN}:${EXTERNAL_PORT}/kratos
- KRATOS_ADMIN_URL=http://kratos:4434
- AUTH_URL=${EXTERNAL_PROTO}://${DOMAIN}:${EXTERNAL_PORT}/auth
- CRUX_UI_URL=${EXTERNAL_PROTO}://${DOMAIN}:${EXTERNAL_PORT}
- LOG_LEVEL=info
- LOG_LEAK_SENSITIVE_VALUES=false
- SECRETS_COOKIE=${KRATOS_SECRET}
- COURIER_SMTP_CONNECTION_URI=${SMTP_URI}
- FROM_EMAIL=${FROM_EMAIL}
- FROM_NAME=${FROM_NAME}
depends_on:
database:
condition: service_healthy
kratos-migrate:
condition: service_completed_successfully
restart: unless-stopped
labels:
- org.dyrectorio.service-category=_internal
kratos-migrate:
container_name: kratos-migrate
image: ghcr.io/dyrector-io/dyrectorio/web/kratos:${DYO_VERSION:-stable}
command: -c /etc/config/kratos/kratos.yaml migrate sql -e --yes
environment:
- SQA_OPT_OUT=true
- DSN=postgres://kratos_user:${KRATOS_POSTGRES_PASSWORD}@database:5432/kratos?sslmode=disable&max_conns=20&max_idle_conns=4
depends_on:
database:
condition: service_healthy
restart: 'no'
labels:
- org.dyrectorio.service-category=_internal
volumes:
database: