Self-Hosted MLFlow server
This repository has been archived on 2025-11-01. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Find a file
Lukas Gysin e96c0759f3
docs: Archive Banner
Signed-off-by: Lukas Gysin <L.Gysin@pm.me>
2025-11-01 15:38:21 +01:00
.env.example feat: Install MLflow 2025-10-14 13:10:00 +02:00
.gitignore Initial commit 2025-10-13 23:17:58 +02:00
CODE_OF_CONDUCT Initial commit 2025-10-13 23:17:58 +02:00
docker-compose.yaml feat: Update to new version 2025-10-29 22:00:06 +01:00
Dockerfile feat: Install MLflow 2025-10-14 13:10:00 +02:00
LICENSE Initial commit 2025-10-13 23:17:58 +02:00
minio-policy.json feat: Install MLflow 2025-10-14 13:10:00 +02:00
README.md docs: Archive Banner 2025-11-01 15:38:21 +01:00

mlflow

⚠️ Public Archive ⚠️
Since MLflow can not easaly be secured, this docker stack will not be maintained and provided. There are no code updates at all, including no security updates!
DO NOT USE ANY CODE OF THIS ORGANISATION IN PRODUCTION!

Self-Hosted MLFlow server

Getting Started

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Requirements for the software and other tools to build, test and push

Supported IDEs

You can use the IDE of your choice to continue developing the project. However, the following IDEs are recommended and officially supported:

Secret Management

Sensitive data is stored in a .env file. An empty example of the structure can be found in .env.example

Development

This repository is a full functional docker compose application stack. Therefore, you can use the terminal to deploy a development instance on your local machine.

docker-compose up -d --build

Deployment Preperation

For the first deployment, some preconditions have to be met:

  • Make sure the public network exists in docker
  • Make sure the $PATH directory on the server exists

Create a MinIO user, policy and bucket with the MinIO Client

mc alias set s3 $S3_DOMAIN $S3_ADMIN_USER $S3_ADMIN_PASS
mc mb s3/mlflow
mc admin user add s3 $S3_USER $S3_PASS
mc admin policy create s3 mlflow minio-policy.json
mc admin policy attach s3 mlflow --user $S3_USER

Deployment

For the deployment, the docker compose stack must be copied to the server and started

ssh $USER@$SERVER "docker compose -f $PATH/docker-compose.yaml down"
scp .env $USER@$SERVER:/$PATH/
scp Dockerfile $USER@$SERVER:/$PATH/
scp  docker-compose.yaml $USER@$SERVER:/$PATH/
ssh $USER@$SERVER "docker compose -f $PATH/docker-compose.yaml up -d --build"

The $USER variable holds the username of the user on the server.
The $SERVER variable holds the IP-address or the domain of the server.
The $PATH variable holds the absolut path to the application folder on the server.

Authors

License

This project is licensed under the MIT License

Acknowledgments