---
title: "Deploy MLflow"
description: "Track ML experiments, models and runs with a web UI"
category: "AI/ML"
url: https://railway.com/deploy/mlflow-2
---

# Deploy MLflow

Track ML experiments, models and runs with a web UI

**[Deploy MLflow on Railway](https://railway.com/template/mlflow-2)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/mlflow-2/manifest.json

- **Creator:** zer0person's Projects
- **Category:** AI/ML
- **Total deploys:** 1

## Template content

### MLflow

- **Image:** ghcr.io/mlflow/mlflow:latest
- **Start command:** `sh -c 'printf "[mlflow]\ndefault_permission = READ\ndatabase_uri = sqlite:////data/auth.db\nadmin_username = admin\nadmin_password = %s\nauthorization_function = mlflow.server.auth:authenticate_request_basic_auth\n" "$MLFLOW_ADMIN_PASSWORD" > /data/auth.ini; pip install -q Flask-WTF; export MLFLOW_AUTH_CONFIG_PATH=/data/auth.ini; exec mlflow server --app-name basic-auth --host 0.0.0.0 --port 8080 --backend-store-uri sqlite:////data/mlflow.db --default-artifact-root /data/artifacts --allowed-hosts "*"'`
- **Public domain:** Yes

## Documentation

# Deploy and Host MLflow on Railway

[MLflow](https://github.com/mlflow/mlflow) is an open-source platform for tracking machine-learning experiments, packaging models and managing their lifecycle.

## About Hosting MLflow

This template runs the official `ghcr.io/mlflow/mlflow` image as a tracking server with basic authentication enabled. Metadata is kept in SQLite and artifacts in a persistent volume at `/data`. The admin user is `admin`; its password is the generated `MLFLOW_ADMIN_PASSWORD` variable on the service.

## Common Use Cases

- Log parameters, metrics and artifacts from training runs
- Compare experiments in the web UI
- Register and version models

## Dependencies for MLflow Hosting

- One service with a volume; nothing else

### Deployment Dependencies

- [MLflow on GitHub](https://github.com/mlflow/mlflow)
- [Docker image](https://github.com/mlflow/mlflow/pkgs/container/mlflow)

## Why Deploy MLflow on Railway?

Railway gives you a public HTTPS URL, a persistent volume and automatic restarts with no server to maintain. Point your code at the public URL and set `MLFLOW_TRACKING_USERNAME=admin` and `MLFLOW_TRACKING_PASSWORD` to the generated password.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/mlflow-2
