-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcompose.yaml
More file actions
134 lines (126 loc) · 3.66 KB
/
Copy pathcompose.yaml
File metadata and controls
134 lines (126 loc) · 3.66 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
x-superset-image: &superset-image apache/superset:${SUPERSET_VERSION:-6.0.0}
x-postgres-image: &postgres-image postgres:${POSTGRES_VERSION:-18.1-alpine}
x-redis-image: &redis-image redis:${REDIS_VERSION:-8.6-alpine}
x-superset-common:
&superset-common
image: *superset-image
user: 'root'
environment:
&superset-common-env
# Superset PostgreSQL config
DATABASE_DIALECT: 'postgresql'
DATABASE_HOST: 'superset-db'
DATABASE_PORT: 5432
DATABASE_DB: 'superset'
DATABASE_USER: 'superset'
DATABASE_PASSWORD: 'superset'
# Caching Cache config
REDIS_HOST: 'superset-cache'
REDIS_PORT: 6379
# Superset specific env vars
SUPERSET_ENV: 'production'
SUPERSET_PORT: 8088
SUPERSET_SECRET_KEY: 'TEST_NON_DEV_SECRET'
CYPRESS_CONFIG: 'false'
SUPERSET_LOG_LEVEL: 'info'
MAPBOX_API_KEY: ''
# Add the mapped in /app/pythonpath_docker which allows devs to override stuff
PYTHONPATH: '/app/pythonpath:/app/docker/pythonpath_dev'
# Examples DB
SUPERSET_LOAD_EXAMPLES: ${SUPERSET_LOAD_EXAMPLES:-no}
EXAMPLES_HOST: 'superset-db'
EXAMPLES_PORT: 5432
EXAMPLES_DB: 'examples'
EXAMPLES_USER: 'examples'
EXAMPLES_PASSWORD: 'examples'
volumes:
&superset-common-volumes
- ./conf:/app/docker
- vol-superset-home:/app/superset_home
depends_on:
&superset-common-depends-on
superset-db:
condition: service_healthy
superset-cache:
condition: service_healthy
services:
superset-db:
image: *postgres-image
container_name: superset-db
environment:
POSTGRES_DB: 'superset'
POSTGRES_USER: 'superset'
POSTGRES_PASSWORD: 'superset'
EXAMPLES_DB: 'examples'
EXAMPLES_USER: 'examples'
EXAMPLES_PASSWORD: 'examples'
ports:
- '5432'
volumes:
- vol-superset-db:/var/lib/postgresql/data
- ./conf/examples-init.sh:/docker-entrypoint-initdb.d/examples-init.sh
healthcheck:
test: ["CMD-SHELL", "pg_isready -U superset"]
interval: 5s
timeout: 3s
retries: 5
restart: on-failure
superset-cache:
image: *redis-image
container_name: superset-cache
ports:
- '6379'
volumes:
- vol-superset-cache:/data
healthcheck:
test: ["CMD-SHELL", "redis-cli ping"]
interval: 5s
timeout: 3s
retries: 5
restart: on-failure
superset:
<<: *superset-common
container_name: superset
command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"]
ports:
- 8088:8088
depends_on:
<<: *superset-common-depends-on
superset-init:
condition: service_completed_successfully
restart: on-failure
superset-worker:
<<: *superset-common
container_name: superset-worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
depends_on:
<<: *superset-common-depends-on
superset-init:
condition: service_completed_successfully
healthcheck:
test: ["CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME"]
restart: on-failure
superset-worker-beat:
<<: *superset-common
container_name: superset-worker-beat
command: ["/app/docker/docker-bootstrap.sh", "beat"]
depends_on:
<<: *superset-common-depends-on
superset-init:
condition: service_completed_successfully
healthcheck:
disable: true
restart: on-failure
superset-init:
<<: *superset-common
container_name: superset-init
command: ["/app/docker/docker-init.sh"]
healthcheck:
disable: true
volumes:
vol-superset-home:
name: 'vol-superset-home'
vol-superset-db:
name: 'vol-superset-db'
vol-superset-cache:
name: 'vol-superset-cache'