-
Notifications
You must be signed in to change notification settings - Fork 17
/
docker-compose.yml
76 lines (67 loc) · 2.42 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
# This allows to run the playground with a pre-populated MongoDB backend
version: '3'
services:
mongodb:
image: mongo:5
ports:
# Forwarding port to host in case we want to manually run requests against mongo
- 27017:27017
volumes:
- ./playground/init-mongo/:/docker-entrypoint-initdb.d/:ro
- ./playground/datastore/:/datasources/:ro
environment:
MONGO_INITDB_DATABASE: "playground_data"
postgres:
image: postgres:14.2
ports:
- 5432:5432
volumes:
- ./playground/init-postgres/:/docker-entrypoint-initdb.d/:ro
- ./playground/datastore/:/datasources/:ro
environment:
POSTGRES_PASSWORD: "password"
POSTGRES_USER: "dbuser"
POSTGRES_DB: "playground_db"
mysql:
image: mysql:8
ports:
- 3306:3306
volumes:
- ./playground/init-mysql/:/docker-entrypoint-initdb.d/:ro
# Needed to be allowed to read a local CSV
- ./playground/init-mysql/enable_local_files.cnf:/etc/mysql/conf.d/enable_local_files.cnf:ro
# Needs rw because the entrypoint will chown this
- ./playground/datastore-mysql/:/var/lib/mysql-files/:rw
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_PASSWORD: "password"
MYSQL_USER: "dbuser"
MYSQL_DATABASE: "playground_db"
weaverbird:
build:
context: .
dockerfile: Dockerfile
ports:
- 5000:5000
environment:
MONGODB_CONNECTION_STRING: "mongodb://mongodb:27017"
MONGODB_DATABASE_NAME: "playground_data"
POSTGRESQL_CONNECTION_STRING: "postgresql://dbuser:password@postgres/playground_db"
ATHENA_REGION: "${ATHENA_REGION}"
ATHENA_SECRET_ACCESS_KEY: "${ATHENA_SECRET_ACCESS_KEY}"
ATHENA_ACCESS_KEY_ID: "${ATHENA_ACCESS_KEY_ID}"
ATHENA_DATABASE: "${ATHENA_DATABASE}"
ATHENA_OUTPUT: "${ATHENA_OUTPUT}"
SNOWFLAKE_ACCOUNT: "${SNOWFLAKE_ACCOUNT}"
SNOWFLAKE_USER: "${SNOWFLAKE_USER}"
SNOWFLAKE_DATABASE: "${SNOWFLAKE_DATABASE}"
SNOWFLAKE_PASSWORD: "${SNOWFLAKE_PASSWORD}"
GOOGLE_BIG_QUERY_CREDENTIALS_FILE: "/secrets/bigquery-credentials.json"
MYSQL_HOST: mysql
MYSQL_PASSWORD: password
MYSQL_USER: dbuser
MYSQL_DATABASE: playground_db
volumes:
- ./server:/local_src/:Z
- ./bigquery-credentials.json:/secrets/bigquery-credentials.json:ro
command: bash -c "pip install -e '/local_src/[playground]' && hypercorn --bind 0.0.0.0:5000 playground:app"