{"id":19307394,"url":"https://github.com/artefactory/supinfo_course_setup","last_synced_at":"2026-07-14T18:33:00.811Z","repository":{"id":103035305,"uuid":"599674805","full_name":"artefactory/supinfo_course_setup","owner":"artefactory","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-12T19:06:33.000Z","size":113,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T00:23:05.917Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artefactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-09T16:37:12.000Z","updated_at":"2023-02-09T16:43:04.000Z","dependencies_parsed_at":"2023-03-13T15:09:46.565Z","dependency_job_id":null,"html_url":"https://github.com/artefactory/supinfo_course_setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/artefactory/supinfo_course_setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fsupinfo_course_setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fsupinfo_course_setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fsupinfo_course_setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fsupinfo_course_setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artefactory","download_url":"https://codeload.github.com/artefactory/supinfo_course_setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fsupinfo_course_setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35474801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-14T02:00:06.603Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T00:10:47.017Z","updated_at":"2026-07-14T18:33:00.793Z","avatar_url":"https://github.com/artefactory.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MLOPS COURSE SETUP\n\nThe purpose of this course is to introduce the main concepts of Machine Learning Operations, or MLOps for short, and illustrate their interest and usage through a simple use case.\n\nThis repository aims to simplify as much as possible the setup of the infrastructure required for this course. It will create two docker containers, one to host the Jupyter lab that you are going to use for experiments, and the other to host the mlflow server you will log your experiments into.\n\n# Prerequisites\nFor the best experience, we recommend that you have Docker, bash and Make installed on your machine. Follow the instructions to install them if you don't have them already.\n\n# How to set up\n## Step 1: Installing prerequisites\nLet's first make sure you have access to the Docker. If you are not sure, follow the instructions below.\n\n### Docker\nCheck that you have Docker desktop installed in your machine by running:\n\n```bash\ndocker -v\n```\n\nIf that is not the case, just follow the official instructions:\n\n* [Install Docker - Mac OS](https://docs.docker.com/desktop/install/mac-install/)\n* [Install Docker - Linux](https://docs.docker.com/desktop/install/linux-install/)\n* [Install Docker - Windows](https://docs.docker.com/desktop/install/windows-install/)\n\nFor those of you working on Windows, you might need to update Windows Subsystem for Linux. To do so, simply open PowerShell and run:\n\n```bash\nwsl --update\n```\n\nOnce docker is installed, make sure that it is running correctly by running:\n\n```bash\ndocker run -p 80:80 docker/getting-started\n```\n\nIf you check the Docker App, you should see a getting started container running. Once you've checked that this works correctly, remove the container via the UI.\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eOptional\u003c/b\u003e\u003c/summary\u003e\n    You can also perform these operations directly from the command line, by running \u003ccode\u003edocker ps\u003c/code\u003e to check the running containers and \u003ccode\u003edocker rm -f [CONTAINER-ID]\u003c/code\u003e to remove it.\n\u003c/details\u003e\n\n### Bash\nCheck that you have bash installed in your machine by opening a terminal and running:\n\n```bash\nbash --version\n```\nThis should be the case for all Mac and Linux users.\n\nIf you are using Windows, you can use the Git Bash terminal that comes with Git. You can download it [here](https://git-scm.com/downloads).\n\n### Make\nCheck that you have make installed in your machine by opening a terminal and running:\n\n```bash\nmake -v\n```\nThis should be the case for all Mac and Linux users.\n\nIf you are using Windows, you can then install make using Chocolatey. You can download Chocolatey [here](https://chocolatey.org/install).\n\nThen, restart Git Bash and run:\n\n```bash\nchoco install make\n```\n\nRestart Git Bash again and check that make is installed by running:\n\n```bash\nmake -v\n```\n\nIf you did not manage to install make, you can still follow the course by following the instructions in the next section under the label \"Without `make` and `bash` installed on your terminal\".\n\n## Step 2: Prepare the course infrastructure\n\n\nNow, we will guide you to build the required Docker Images. With a terminal, go to the root of this folder.\n\nFirst check that you have `make` installed by running `make -v`\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eIf you have `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n    Then simply run:\n    \u003cp\u003e\u003cpre\u003emake prepare-mlops-crashcourse\u003c/pre\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWithout `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n    Please run:\n    \u003cp\u003e\u003cpre\u003edocker build -t mlops_notebooks ./lesson/\ndocker build -t mlops_mlflow ./mlflow_server/\u003c/pre\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n\n## Step 3: Launch the course\n\nFollow these steps to mount the two containers and open the user interface to start the course.\n\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eIf you have `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n    You can directly bundle all this section's commands by typing:\n    \u003cp\u003e\u003cpre\u003emake launch-mlops-crashcourse\u003c/pre\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWithout `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n    First, create a network:\n    \u003cp\u003e\u003cpre\u003edocker network create --driver bridge mlops-crashcourse\u003c/pre\u003e\u003c/p\u003e\n    \u003cp\u003eThen:\u003c/p\u003e\n    \u003cp\u003e\u003cpre\u003edocker run -it --rm --user root -p 10000:8888 -p 8000:8000 -p 4200:4200 -v ${PWD}/mlflow_server/local:/mlflow -e JUPYTER_ENABLE_LAB=yes -e JUPYTER_TOKEN=docker -e MLFLOW_TRACKING_URI=http://mlflow:5001 --network mlops-crashcourse --name jupyter -d mlops_notebooks\u003c/pre\u003e\u003c/p\u003e\n    \u003cp\u003eAnd:\u003c/p\u003e\n    \u003cp\u003e\u003cpre\u003edocker run -it -d --rm -p 5001:5000 -v ${PWD}/mlflow_server/local:/mlflow --network mlops-crashcourse --name mlflow mlops_mlflow\u003c/pre\u003e\u003c/p\u003e\n    \u003cp\u003eYou can then open your favorite browser and open in two tabs the two urls we will be working with:\u003c/p\u003e\n    \u003cul\u003e\n    \u003cli\u003ehttp://localhost:10000\u003c/li\u003e\n    \u003cli\u003ehttp://localhost:5001\u003c/li\u003e\n    \u003cul\u003e\n\u003c/details\u003e\n\nOnce the Jupyter server is launched, you will need to use a token to attach your browser to it. The token you should use is `MLOPS`.\n\n## Step 4: Time to work\n\nAll the activities of this course can be found in the `notebooks` folder. If you are using docker, then you will be working on jupyter lab and the folder will be immediately visible from the root. If instead, you are running this course locally on your computer, then you can find the notebooks under `lesson/notebooks`.\n\n\u003e If you encounter difficulties during, don't hesitate to call us for help\n\n## Step 5: Cleanup\n\nOnce you are done with the course, you can follow these steps to clean your workspace.\n\n\u003e Careful! This will destroy all your work if you did not save it locally.\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eIf you have `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n\n    Then simply run:\n    ```bash\n    make clean-mlops-crashcourse\n    ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWithout `make` and `bash` installed on your terminal\u003c/b\u003e\u003c/summary\u003e\n    Please run\n\n    ```bash\n\tdocker stop jupyter\n\tdocker stop mlflow\n\tdocker image rm mlops_notebooks\n\tdocker image rm mlops_mlflow\n    docker network rm mlops-crashcourse\n    ```\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartefactory%2Fsupinfo_course_setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartefactory%2Fsupinfo_course_setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartefactory%2Fsupinfo_course_setup/lists"}