2020-08-24 00:43:21 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# MLFlow Docker Setup [](https://github.com/Toumash/mlflow-docker/actions)
 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:04:53 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:22:39 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								>  If you want to boot up mlflow project with one-liner - this repo is for you. 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								>  The only requirement is docker installed on your system and we are going to use Bash on linux/windows.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 🚀 1-2-3! Setup guide 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								1.  Configure `.env`  file for your choice. You can put there anything you like, it will be used to configure you services
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								2.  Run `docker compose up` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								3.  Open up http://localhost:5000 for MlFlow, and http://localhost:9001/ to browse your files in S3 artifact store
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:04:53 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-22 21:13:29 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-05 14:48:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								**👇Video tutorial how to set it up + BONUS with Microsoft Azure 👇**
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 21:42:52 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:21:40 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								[](https://www.youtube.com/watch?v=ma5lA19IJRA)
							 
						 
					
						
							
								
									
										
										
										
											2020-09-06 22:08:23 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 16:44:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Features
 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 21:42:52 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 -  One file setup (.env)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 -  Minio S3 artifact store with GUI
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 -  MySql mlflow storage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 -  Ready to use bash scripts for python development!
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 -  Automatically-created s3 buckets
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 16:44:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## How to use in ML development in python
 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< details > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< summary > Click to show< / summary > 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-22 21:13:29 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								1.  Configure your client-side
							 
						 
					
						
							
								
									
										
										
										
											2018-11-22 21:13:29 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-05 20:26:26 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								For running mlflow files you need various environment variables set on the client side. To generate them use the convienience script `./bashrc_install.sh` , which installs it on your system or `./bashrc_generate.sh` , which just displays the config to copy &  paste.
							 
						 
					
						
							
								
									
										
										
										
											2018-11-22 21:13:29 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 16:38:20 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								>  $ ./bashrc_install.sh   
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								>  [ OK ] Successfully installed environment variables into your .bashrc!
 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 16:38:20 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The script installs this variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, MLFLOW_S3_ENDPOINT_URL, MLFLOW_TRACKING_URI. All of them are needed to use mlflow from the client-side.
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 22:28:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								2.  Test the pipeline with below command with conda. If you dont have conda installed run with `--no-conda` 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 22:28:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 23:27:00 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```shell
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								mlflow run git@github .com:databricks/mlflow-example.git -P alpha=0.5
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 16:24:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# or
 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								python ./quickstart/mlflow_tracking.py
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 23:28:50 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								3.  *(Optional)*  If you are constantly switching your environment you can use this environment variable syntax
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 22:28:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-08-24 00:17:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```shell
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								MLFLOW_S3_ENDPOINT_URL=http://localhost:9000 MLFLOW_TRACKING_URI=http://localhost:5000 mlflow run git@github .com:databricks/mlflow-example.git -P alpha=0.5
							 
						 
					
						
							
								
									
										
										
										
											2020-08-23 22:28:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / details > 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 21:40:03 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:14:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 21:40:03 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Licensing
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Copyright (c) 2021 Tomasz Dłuski
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License by reviewing the file [LICENSE ](./LICENSE ) in the repository.