116 lines
3.3 KiB
YAML
116 lines
3.3 KiB
YAML
services:
|
|
base:
|
|
build:
|
|
context: .
|
|
volumes:
|
|
- ${PWD}:/mlflow/home
|
|
working_dir: /mlflow/home
|
|
entrypoint: /mlflow/home/tests/db/entrypoint.sh
|
|
command: pytest tests/db
|
|
environment:
|
|
DISABLE_RESET_MLFLOW_URI_FIXTURE: "true"
|
|
|
|
postgresql:
|
|
image: postgres@sha256:c1f0abd909b477d6088c72e4cd6eb01ea525344caca1b58689ae884204369502
|
|
restart: always
|
|
environment:
|
|
POSTGRES_DB: mlflowdb
|
|
POSTGRES_USER: mlflowuser
|
|
POSTGRES_PASSWORD: mlflowpassword
|
|
|
|
mlflow-postgresql:
|
|
depends_on:
|
|
- postgresql
|
|
extends:
|
|
service: base
|
|
environment:
|
|
MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb
|
|
INSTALL_MLFLOW_FROM_REPO: true
|
|
|
|
migration-postgresql:
|
|
depends_on:
|
|
- postgresql
|
|
extends:
|
|
service: base
|
|
environment:
|
|
MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb
|
|
command: tests/db/check_migration.sh
|
|
|
|
mysql:
|
|
image: mysql@sha256:569c4128dfa625ac2ac62cdd8af588a3a6a60a049d1a8d8f0fac95880ecdbbe5
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root-password
|
|
MYSQL_DATABASE: mlflowdb
|
|
MYSQL_USER: mlflowuser
|
|
MYSQL_PASSWORD: mlflowpassword
|
|
command: --log-bin-trust-function-creators=1
|
|
|
|
mlflow-mysql:
|
|
extends:
|
|
service: base
|
|
depends_on:
|
|
- mysql
|
|
environment:
|
|
MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4
|
|
INSTALL_MLFLOW_FROM_REPO: true
|
|
|
|
migration-mysql:
|
|
extends:
|
|
service: base
|
|
depends_on:
|
|
- mysql
|
|
environment:
|
|
MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4
|
|
command: tests/db/check_migration.sh
|
|
|
|
mssql:
|
|
image: mcr.microsoft.com/mssql/server@sha256:54b23ca766287dab5f6f55162923325f07cdec6ccb42108f37c55c87e7688ebd
|
|
restart: always
|
|
environment:
|
|
ACCEPT_EULA: Y
|
|
SA_PASSWORD: "1Secure*Password1"
|
|
|
|
mlflow-mssql:
|
|
depends_on:
|
|
- mssql
|
|
extends:
|
|
service: base
|
|
platform: linux/amd64
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.mssql
|
|
environment:
|
|
MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server
|
|
INSTALL_MLFLOW_FROM_REPO: true
|
|
|
|
migration-mssql:
|
|
depends_on:
|
|
- mssql
|
|
extends:
|
|
service: base
|
|
platform: linux/amd64
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.mssql
|
|
environment:
|
|
# We could try using ODBC Driver 18 and append `LongAsMax=Yes` to fix error for sqlalchemy<2.0:
|
|
# [ODBC Driver 17 for SQL Server][SQL Server]The data types varchar and ntext are incompatible in the equal to operator
|
|
# https://docs.sqlalchemy.org/en/20/dialects/mssql.html#avoiding-sending-large-string-parameters-as-text-ntext
|
|
MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server
|
|
command: tests/db/check_migration.sh
|
|
|
|
mlflow-sqlite:
|
|
extends:
|
|
service: base
|
|
environment:
|
|
MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb"
|
|
INSTALL_MLFLOW_FROM_REPO: true
|
|
|
|
migration-sqlite:
|
|
extends:
|
|
service: base
|
|
environment:
|
|
MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb"
|
|
command: tests/db/check_migration.sh
|