jameswilliams1 / mlflow-production-docker

Traefik in Docker with HTTP basic auth configured.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MLflow Production Docker

A production ready1 docker-compose deployment of MLflow using Traefik with HTTP Basic Auth.

1 This project is provided as is, and without a warranty of any kind, see LICENSE for full details.

Setup

Install requirements:

  • Apache Utils (provides htpasswd command)
  • GNU gettext (provides envsubst command)
sudo apt-get install -y apache2-utils gettext

Create a new .htpasswd file with a single user (using Bcrypt hashing):

htpasswd -cB config/.htpasswd <username>

Add additional users with:

htpasswd -B config/.htpasswd <other_username>

Create a .env in the root directory with the following variables completed:

# connection settings
DOMAIN_NAME=localhost
SERVICE_NAME=mlflow
SERVICE_PORT=5000
# tell the user where they are logging into
REALM=testsite
# required for letsencrypt certificate email updates
EMAIL_ADDRESS=example@example.com

Finally write a traefik.yml config file using the .env variables:

./write_template.sh

Running

Start all containers:

docker-compose up -d --build

MLflow is accessible on port 443 over HTTPS (port 80 redirects to 443). Use the username and password you created above to log in.

About

Traefik in Docker with HTTP basic auth configured.

License:Apache License 2.0


Languages

Language:Shell 55.9%Language:Dockerfile 44.1%