{"id":14975877,"url":"https://github.com/yeungadrian/mlops","last_synced_at":"2025-10-27T14:31:21.556Z","repository":{"id":155510158,"uuid":"505954389","full_name":"yeungadrian/MLOps","owner":"yeungadrian","description":"Simple open source MLOps with docker compose","archived":false,"fork":false,"pushed_at":"2024-10-31T20:17:05.000Z","size":3151,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T06:31:47.803Z","etag":null,"topics":["dockercompose","mlops"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeungadrian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-21T18:09:00.000Z","updated_at":"2024-10-31T20:17:09.000Z","dependencies_parsed_at":"2024-06-22T21:36:13.903Z","dependency_job_id":"36b27eaf-5917-4fc6-b6de-83c689bedeb8","html_url":"https://github.com/yeungadrian/MLOps","commit_stats":{"total_commits":81,"total_committers":3,"mean_commits":27.0,"dds":0.2098765432098766,"last_synced_commit":"0f5a9d40cf4c3180b4942dc811725a025ed6d29f"},"previous_names":["yeungadrian/opensourcemlops"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeungadrian%2FMLOps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeungadrian%2FMLOps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeungadrian%2FMLOps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeungadrian%2FMLOps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeungadrian","download_url":"https://codeload.github.com/yeungadrian/MLOps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238508881,"owners_count":19484219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dockercompose","mlops"],"created_at":"2024-09-24T13:52:48.226Z","updated_at":"2025-10-27T14:31:21.205Z","avatar_url":"https://github.com/yeungadrian.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# MLOps\nSimple open source MLOps stack with docker compose.\n\n## Design\n![Alt text](assets/mlops.png)\n\n## Quickstart\nThis setup requires docker and docker compose. The easiest way to get started is to install [docker desktop](https://docs.docker.com/desktop/install/mac-install/).\n\nCreate a .env file with the following keys. Values below are only placeholders and can be freely changed.\n```\nPOSTGRES_DATABASE=postgres\nPOSTGRES_HOST=postgres\nPOSTGRES_PASSWORD=password\nPOSTGRES_PORT=5432\nPOSTGRES_USER=postgres\n\nMINIO_ROOT_USER=minio\nMINIO_ROOT_PASSWORD=password\n```\n\nNow run the following command:\n```\ndocker compose up -d\n```\n\nOnce the applications have started and are ready, you can access them on the following urls:\n- MLflow: [http://localhost:5001](http://localhost:5001)\n- MinIO: [http://localhost:9001](http://localhost:9001)\n- Qdrant: [http://localhost:6333/dashboard](http://localhost:6333/dashboard)\n- Argilla: [http://localhost:6900](http://localhost:6900)\n\n## Applications\n- [PostgreSQL (SQL)](https://github.com/postgres/postgres)\n- [MinIO (object storage)](https://github.com/minio/minio)\n- [Qdrant (vector search)](https://github.com/qdrant/qdrant)\n- [Argilla (data annotation)](https://github.com/argilla-io/argilla)\n- [MLflow (experiment tracking \u0026 model registry)](https://github.com/mlflow/mlflow)\n\n## Updating images\nThe following commands will stop the containers, update images if new versions have been published and redeploy containers.\n```\ndocker compose stop\ndocker compose pull\ndocker compose up -d\n```\n\n## Clunky aspects\n- MLflow: no official image containing psycopg2. Workaround of running `pip install psycopg2` prior to launching server. (Not enough benefits to create custom image).\n- postgreSQL: Setting up databases per application. Mounting init-db.sql to docker-entrypoint-initdb.d folder which is automatically run only if postgres volume is empty.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeungadrian%2Fmlops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeungadrian%2Fmlops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeungadrian%2Fmlops/lists"}