compose.yml
1 services: 2 base: 3 build: 4 context: . 5 volumes: 6 - ${PWD}:/mlflow/home 7 working_dir: /mlflow/home 8 entrypoint: /mlflow/home/tests/db/entrypoint.sh 9 command: pytest tests/db 10 environment: 11 DISABLE_RESET_MLFLOW_URI_FIXTURE: "true" 12 13 postgresql: 14 image: postgres@sha256:c1f0abd909b477d6088c72e4cd6eb01ea525344caca1b58689ae884204369502 15 restart: always 16 environment: 17 POSTGRES_DB: mlflowdb 18 POSTGRES_USER: mlflowuser 19 POSTGRES_PASSWORD: mlflowpassword 20 21 mlflow-postgresql: 22 depends_on: 23 - postgresql 24 extends: 25 service: base 26 environment: 27 MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb 28 INSTALL_MLFLOW_FROM_REPO: true 29 30 migration-postgresql: 31 depends_on: 32 - postgresql 33 extends: 34 service: base 35 environment: 36 MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb 37 command: tests/db/check_migration.sh 38 39 mysql: 40 image: mysql@sha256:569c4128dfa625ac2ac62cdd8af588a3a6a60a049d1a8d8f0fac95880ecdbbe5 41 restart: always 42 environment: 43 MYSQL_ROOT_PASSWORD: root-password 44 MYSQL_DATABASE: mlflowdb 45 MYSQL_USER: mlflowuser 46 MYSQL_PASSWORD: mlflowpassword 47 command: --log-bin-trust-function-creators=1 48 49 mlflow-mysql: 50 extends: 51 service: base 52 depends_on: 53 - mysql 54 environment: 55 MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4 56 INSTALL_MLFLOW_FROM_REPO: true 57 58 migration-mysql: 59 extends: 60 service: base 61 depends_on: 62 - mysql 63 environment: 64 MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4 65 command: tests/db/check_migration.sh 66 67 mssql: 68 image: mcr.microsoft.com/mssql/server@sha256:54b23ca766287dab5f6f55162923325f07cdec6ccb42108f37c55c87e7688ebd 69 restart: always 70 environment: 71 ACCEPT_EULA: Y 72 SA_PASSWORD: "1Secure*Password1" 73 74 mlflow-mssql: 75 depends_on: 76 - mssql 77 extends: 78 service: base 79 platform: linux/amd64 80 build: 81 context: . 82 dockerfile: Dockerfile.mssql 83 environment: 84 MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server 85 INSTALL_MLFLOW_FROM_REPO: true 86 87 migration-mssql: 88 depends_on: 89 - mssql 90 extends: 91 service: base 92 platform: linux/amd64 93 build: 94 context: . 95 dockerfile: Dockerfile.mssql 96 environment: 97 # We could try using ODBC Driver 18 and append `LongAsMax=Yes` to fix error for sqlalchemy<2.0: 98 # [ODBC Driver 17 for SQL Server][SQL Server]The data types varchar and ntext are incompatible in the equal to operator 99 # https://docs.sqlalchemy.org/en/20/dialects/mssql.html#avoiding-sending-large-string-parameters-as-text-ntext 100 MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server 101 command: tests/db/check_migration.sh 102 103 mlflow-sqlite: 104 extends: 105 service: base 106 environment: 107 MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb" 108 INSTALL_MLFLOW_FROM_REPO: true 109 110 migration-sqlite: 111 extends: 112 service: base 113 environment: 114 MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb" 115 command: tests/db/check_migration.sh