-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose-metaflow.yml
123 lines (117 loc) · 3.61 KB
/
docker-compose-metaflow.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version: "3"
services:
metaflow-ui-server:
image: netflixoss/metaflow_metadata_service:v2.4.3
container_name: metaflow-ui-server
restart: always
ports:
- "${MUS_PORT}:8083"
environment:
- MF_METADATA_DB_HOST=metaflow-database
- MF_METADATA_DB_PORT=5432
- MF_METADATA_DB_USER=${MD_USER}
- MF_METADATA_DB_PSWD=${MD_PASSWORD}
- MF_METADATA_DB_NAME=${MD_DB}
- MF_UI_METADATA_PORT=8083
- MF_UI_METADATA_HOST=0.0.0.0
- UI_ENABLED=1
- AWS_ACCESS_KEY_ID=${MM_ACCESS_KEY}
- AWS_SECRET_ACCESS_KEY=${MM_SECRET_KEY}
- FEATURE_ARTIFACT_SEARCH=1
- FEATURE_ARTIFACT_TABLE=1
- METAFLOW_DEFAULT_DATASTORE=s3
- METAFLOW_DATASTORE_SYSROOT_S3=s3://metaflow/Datastore
- METAFLOW_S3_ENDPOINT_URL=http://metaflow-minio:9000/
command: ["/opt/latest/bin/python3", "-m", "services.ui_backend_service.ui_server"]
depends_on:
- metaflow-database
- metaflow-metadata-service
- metaflow-minio
networks:
- metaflow-network
metaflow-metadata-service:
image: netflixoss/metaflow_metadata_service:v2.4.3
container_name: metaflow-metadata-service
restart: always
ports:
- "${MMS_METADATA_PORT}:8080"
- "${MMS_MIGRATION_PORT}:8082"
environment:
- MF_METADATA_DB_HOST=metaflow-database
- MF_METADATA_DB_PORT=5432
- MF_METADATA_DB_USER=${MD_USER}
- MF_METADATA_DB_PSWD=${MD_PASSWORD}
- MF_METADATA_DB_NAME=${MD_DB}
- MF_MIGRATION_ENDPOINTS_ENABLED=0
- MF_METADATA_PORT=8080
- MF_METADATA_HOST=0.0.0.0
- MF_MIGRATION_PORT=8082
- AWS_ACCESS_KEY_ID=${MM_ACCESS_KEY}
- AWS_SECRET_ACCESS_KEY=${MM_SECRET_KEY}
depends_on:
- metaflow-database
networks:
- metaflow-network
metaflow-database:
image: "postgres:15-alpine"
container_name: metaflow-database
restart: always
environment:
- POSTGRES_USER=${MD_USER}
- POSTGRES_PASSWORD=${MD_PASSWORD}
- POSTGRES_DB=${MD_DB}
ports:
- "${MD_PORT}:5432"
command: ["postgres", "-c", "log_statement=none", "-c", "wal_level=logical"]
volumes:
- metaflow-database-volume:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
networks:
- metaflow-network
metaflow-minio:
container_name: metaflow-minio
image: minio/minio:RELEASE.2023-09-16T01-01-47Z
environment:
- MINIO_ACCESS_KEY=${MM_ACCESS_KEY}
- MINIO_SECRET_KEY=${MM_SECRET_KEY}
volumes:
- metaflow-minio-volume:/minio_data
command: minio server /minio_data --address :9000 --console-address :9001
ports:
- ${MM_S3_API_PORT}:9000
- ${MM_CONSOLE_PORT}:9001
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
networks:
- metaflow-network
metaflow-minio-create-bucket:
container_name: metaflow-minio-create-bucket
image: minio/mc:RELEASE.2023-09-13T23-08-58Z
environment:
- MINIO_ACCESS_KEY=${MM_ACCESS_KEY}
- MINIO_SECRET_KEY=${MM_SECRET_KEY}
entrypoint: >
/bin/sh -c "
/usr/bin/mc alias set myminio http://metaflow-minio:9000 ${MM_ACCESS_KEY} ${MM_SECRET_KEY};
/usr/bin/mc mb --ignore-existing myminio/metaflow;
exit 0;
"
depends_on:
- metaflow-minio
networks:
- metaflow-network
networks:
metaflow-network:
name: metaflow-network
volumes:
metaflow-database-volume:
name: metaflow-database-volume
metaflow-minio-volume:
name: metaflow-minio-volume