Skip to content

deploy and manage applications like wordpress or jupyterlab

Notifications You must be signed in to change notification settings

michallm/classlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

ClassLab

Deploy and manage applications

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap

Demo

Click to watch the demo: ClassLab demo

About The Project

ClassLab is a platform for deploying and managing applications. It is designed for education facilities and companies that want to provide their students or employees with a simple way to deploy and manage applications like Wordpress, Jupyter Notebook, or any other application that can be run in a container.

Built With

  • Django
  • Docker
  • Kubernetes

Getting Started

To get a local copy up and running follow these simple steps(it's not an easy task):

Prerequisites

Only tested on MacOS.

  • Python

  • Docker

  • Docker Compose

  • Helm and Helmfile

    brew install helm
    brew install helmfile
    helmfile init

Installation

  1. Clone the repo

    git clone https://github.com/michallm/classlab.git
  2. Build the docker images

    docker compose build
    
  3. Apply migrations

    docker compose run --rm django python manage.py migrate
    
  4. Load seed data

    docker compose run --rm django python manage.py loaddata fixtures/seed.json
    
  5. Start the application

    docker compose up
    

Usage

Accounts

Superuser

email: admin@example.com password: zaq1@WSX

Organisation Admin

email: admin@test.com password: zaq1@WSX

Sample Teacher

email: teacher@test.com password: zaq1@WSX

Sample Student

email: student@test.com password: zaq1@WSX

Services

Generate templates

cd templates
python generate.py -d -n <namespace>

Roadmap

  • TCP Proxy
  • Deployment of an application itself on Kubernetes
  • More automated development process
  • HTTPS for applications (development)

See the open issues for a full list of proposed features (and known issues).

Contact

Project Link: https://github.com/michallm/classlab