Jika Anda membangun pipeline ML di tahun 2025, kemungkinan Anda harus menggunakan banyak tools untuk pelacakan, penyimpanan, dan versioning. Bagaimana jika Anda bisa menjalankan MLflow, PostgreSQL, dan MinIO dalam satu file docker-compose.yml?
Artikel ini memberikan stack lengkap yang dibutuhkan untuk pelacakan model, penyimpanan artefak, dan menjalankan MLflow dalam mode produksi – semuanya dari nol.
Berikut contoh docker-compose.yml siap digunakan:
services:
postgres:
image: postgres:17.5
container_name: mlflow_postgres
restart: unless-stopped
environment:
POSTGRES_USER: mlflow
POSTGRES_PASSWORD: mlflow_pass
POSTGRES_DB: mlflow_db
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
minio:
image: minio/minio:RELEASE.2025-07-23T15-54-02Z
container_name: mlflow_minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio_pass
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
volumes:
- minio_data:/data
mlflow:
build:
context: .
dockerfile: Dockerfile
container_name: mlflow_server
restart: unless-stopped
depends_on:
- postgres
- minio
environment:
MLFLOW_TRACKING_URI: postgresql+psycopg://mlflow:mlflow_pass@postgres:5432/mlflow_db
AWS_ACCESS_KEY_ID: minio
AWS_SECRET_ACCESS_KEY: minio_pass
MLFLOW_S3_ENDPOINT_URL: http://minio:9000
command: >
mlflow server
--backend-store-uri postgresql+psycopg://mlflow:mlflow_pass@postgres:5432/mlflow_db
--default-artifact-root s3://mlflow/
--host 0.0.0.0
--port 5000
ports:
- "5000:5000"
volumes:
postgres_data:
minio_data:
mlflow_data:Pastikan file ini ada di direktori yang sama dengan docker-compose.yml:
# Dockerfile
FROM ghcr.io/mlflow/mlflow:v3.2.0
RUN pip install --no-cache-dir "psycopg[binary]>=3.1,<3.2"docker-compose up --build -dUI MLflow akan tersedia di:
http://localhost:5000

Konsol UI MinIO di:
http://localhost:9001
Sebelum menggunakan penyimpanan artefak S3, buat bucket bernama mlflow:
mc alias set local http://localhost:9000 minio minio_pass
mc mb local/mlflowSetup plug-and-play ini membuat pengelolaan eksperimen ML, pelacakan hasil, dan penyimpanan artefak jadi lebih mudah tanpa harus mengandalkan cloud.
Di dunia yang bergerak cepat dengan AI dan MLOps, tumpukan lokal ini memberi Anda kebebasan untuk berinovasi dengan aman dan efisien.