This repo provides a docker image of MLFLow Tracking Server which is based on sqlite, an internal file system for metadata (e.g. parameters, metrics) and an AWS S3 Bucket for files and artifacts.
Before you start the MLFlow Tracking Server, you must create an AWS S3 Bucket and the corresponding credentials.
- AWS Account
- AWS CLI
- Create a new AWS S3 Bucket
- Add a new AWS User to to the system
- Assign the following policy to the user:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:HeadBucket"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::<_AWS_BUCKET_NAME_>",
"arn:aws:s3:::<_AWS_BUCKET_NAME_>/*"
]
}
]
}
$ docker run \
--rm \
--name mlflow-tracking-server \
-p 5000:5000 \
-e PORT=5000 \
-e FILE_DIR=/mlflow \
-e AWS_BUCKET=<YOUR_AWS_BUCKET> \
-e AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID> \
-e AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY> \
foxrider/mlflow-tracking-server:0.2.0
Access to http://127.0.0.1:5000
Key | Description |
---|---|
FILE_DIR |
Directory for artifacts and metadata (e.g. parameters, metrics) |
AWS_BUCKET |
Name of AWS S3 Bucket that will contain the artifacts |
AWS_ACCESS_KEY_ID |
AWS-Access-Key that you have created in the Prerequisite section |
AWS_SECRET_ACCESS_KEY |
AWS-Secret-Access-Key that you have created in the Prerequisite section |
Key | Description | Default |
---|---|---|
PORT |
Value for listen directive |
5000 |
- Install the AWS CLI
- Add the AWS credentials to the client. You can either set the environment variables
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
on your client or use the AWS CLI commandaws configure
.
See this link
Pull requests are welcome :)