Skip to content

moa-mudir/mudir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
m.alhaddad
Oct 2, 2024
8ca4fee · Oct 2, 2024

History

27 Commits
Jun 8, 2021
Nov 30, 2023
Nov 30, 2023
Oct 2, 2024
May 25, 2021
Aug 9, 2021
Jul 21, 2022
Jul 21, 2022
Nov 30, 2023
Aug 25, 2021
Jul 22, 2022

Repository files navigation

Mudir

Your Machine Learning laboratory's workspace management tool

License: GPL v3

Maintenance Made withJupyter Open Source Love Build Status

Mudir is a GPU workspace management tool, user-friendly, to protect your teams' research

Features

  • You can use it with GPUs/CPUs servers
  • Allows virtualization at low cost
  • Jupyter environment support
  • Two clicks to run your personal workspace
  • A safe setup for experiments and datasets

System requirements

Setup

 git clone [email protected]:moa-mudir/mudir.git
 cd mudir
 docker build -t <your-build-tag> .
 npm install
 cp default.env .env
 
  • modify .env according to your preferences, you can change the host, password and image name you've just tagged to start

.env file

Plugin Description values (default)
DATABASE_HOST <ip> of mysql database localhost
DATABASE_USER <username> of mysql database root
DATABASE_PASSWORD <password> of mysql database super2009
DATABASE_PORT <port> of database 3306
DATABASE_NAME <name> of database containers
BASE_DOCKER_IMAGE <tag> of image jupyterlab:1.0
DATASET_URI root folder of your dataset /mnt/dataset
TEMP_URI tmp folder of your experiment /mnt/exp
SHARED_GPU Shared memory by GPU 4
UID linux host user id 1000
GID linux host group id 1000
DATA_VOLUME (Optional) mounting database folder /mnt/db

After configuring the system, you can test it by running node src/app.js

if it successfully runs you can set it as a service to run on system up:

  • edit gpu-manager.service modify the EnvironmentFile WorkingDirectory to point to the .env and root folder of the app correspondingly
  • sudo cp gpu-manager.service /etc/systemd/system/
  • sudo systemctl daemon-reload
  • sudo systemctl start gpu-manager.service
  • sudo systemct status gpu-manager.service to check the status
  • ** If you want to host the mysql on the same machine, you can run docker-compose up to spin a database server

Usage

  • After successfully running the service, from your browser open <host-ip>:3000.

  • Login with admin/admin credentials

  • Navigate to workspaces to create/delete a workspace of a given name with description workspaces workspace delete

  • A workspace will have 2 ports, 1 for http jupyter and 1 for custom usage workspaces

  • The name given to the workspace will create a directory on the filesystem (maybe mounted fileserver) to host the assets of experiment. Though allowing you to mount it over FTP and have persistent protected assets

  • Navigate to Edit users to add/delete a user User add/delete

  • Clicking a workspace button when it is green it will redirect you to a jupyter environment Jupyter environment

Contributing

  • Use Commit standard
  • When you work on issue, branch out a branch name as follows:
    • feature/MUD-XX-description
    • bugfix/MUD-XX-description