-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
107 lines (107 loc) · 2.79 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
104
105
106
107
# This configuration file is for the **development** setup.
# For a production example please refer to getredash/setup repository on GitHub.
version: "2.2"
x-redash-service: &redash-service
build:
context: ./redash
args:
skip_frontend_build: "true"
volumes:
- ./redash:/app
x-redash-environment: &redash-environment
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_RATELIMIT_ENABLED: "false"
REDASH_MAIL_DEFAULT_SENDER: "redash@example.com"
REDASH_MAIL_SERVER: "email"
REDASH_ENFORCE_CSRF: "true"
REDASH_ENABLED_QUERY_RUNNERS: "redash.query_runner.mysql,redash.query_runner.pg"
services:
server:
<<: *redash-service
command: dev_server
depends_on:
- postgres
- redis
ports:
- "5000:5000"
- "5678:5678"
environment:
<<: *redash-environment
PYTHONUNBUFFERED: 0
scheduler:
<<: *redash-service
command: dev_scheduler
depends_on:
- server
environment:
<<: *redash-environment
worker:
<<: *redash-service
command: dev_worker
depends_on:
- server
environment:
<<: *redash-environment
PYTHONUNBUFFERED: 0
redis:
image: redis:3-alpine
restart: unless-stopped
postgres:
image: postgres:9.5-alpine
# The following turns the DB into less durable, but gains significant performance improvements for the tests run (x3
# improvement on my personal machine). We should consider moving this into a dedicated Docker Compose configuration for
# tests.
ports:
- "15432:5432"
command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
restart: unless-stopped
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
email:
image: djfarrelly/maildev
ports:
- "1080:80"
restart: unless-stopped
# mysql-airflow:
# image: mysql:msyql
# enviroment:
# MYSQL_DB : airflowdb
# expose:
# - 3306
# restart: always
# volumes:
# - ./schema:/schema
mysql-dbt:
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_ALLOW_EMPTY_PASSWORD=1
airflow:
build: .
restart: always
environment:
DBT_PROFILES_DIR: /dbt
AIRFLOW_HOME: /airflow
AIRFLOW__CORE__DAGS_FOLDER: /airflow/dags
AIRFLOW__CORE__PARALLELISM: 4
AIRFLOW__CORE__DAG_CONCURRENCY: 4
AIRFLOW__CORE__MAX_ACTIVE_RUNS_PER_DAG: 4
# MYSQL_USER: root
# MYSQL_HOST: mysql-airflow
MYSQL_PORT: 3306
# MYSQL_DB: airflowdb
DBT_MYSQL_HOST: mysql-dbt
ports:
- "8000:8082"
- "8047:8081"
depends_on:
# - mysql-airflow
- mysql-dbt
volumes:
- ./dbt:/dbt
- ./airflow:/airflow
- ./schema:/schema
- ./data:/data