Skip to content

Instantly share code, notes, and snippets.

@DelgadoPanadero
Last active May 2, 2023 10:39
Show Gist options
  • Save DelgadoPanadero/7f1fa768ce1f0131b8e6b8fec4a80c3d to your computer and use it in GitHub Desktop.
Save DelgadoPanadero/7f1fa768ce1f0131b8e6b8fec4a80c3d to your computer and use it in GitHub Desktop.
#AWS_BUCKET_NAME=mlflow
#AWS_ACCESS_KEY_ID=minio
#AWS_SECRET_ACCESS_KEY=minio123
#MYSQL_DATABASE=mlflow
#MYSQL_USER=mysql
#MYSQL_PASSWORD=mysql123
#MYSQL_ROOT_PASSWORD=root
version: '3.7'
services:
minio:
restart: always
image: minio/minio:RELEASE.2023-04-28T18-11-17Z.fips
container_name: mlflow_s3
ports:
- "9000:9000"
- "9001:9001"
entrypoint:
- bash
- -c
- |
mkdir -p /data/mlflow
/usr/bin/docker-entrypoint.sh minio server /data --console-address ':9001' --address ':9000'
environment:
- MINIO_ROOT_USER=${AWS_ACCESS_KEY_ID:-minio}
- MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY:-minio123}
volumes:
- minio_data:/data
db:
restart: always
image: mysql/mysql-server:8.0.32-1.2.11-server
container_name: mlflow_db
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE:-mlflow}
- MYSQL_USER=${MYSQL_USER:-mysql}
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-mysql123}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-root}
volumes:
- dbdata:/var/lib/mysql
web:
restart: always
image: ghcr.io/mlflow/mlflow:v2.3.1
container_name: mlflow_server
depends_on:
- minio
- db
ports:
- "5000:5000"
environment:
- MLFLOW_S3_ENDPOINT_URL=http://minio:9000
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-minio}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-minio123}
entrypoint:
- bash
- -c
- |
pip install cryptography==39.0.2 &&
pip install boto3==1.26.91 &&
pip install mlflow==2.2.2 &&
pip install pymysql==1.0.2 &&
mlflow server --backend-store-uri mysql+pymysql://${MYSQL_USER:-mysql}:${MYSQL_PASSWORD:-mysql123}@db:3306/${MYSQL_DATABASE:-mlflow} --default-artifact-root s3://mlflow/ --host 0.0.0.0
volumes:
dbdata:
minio_data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment