Skip to content

Files

Latest commit

e03f796 · Sep 11, 2024

History

History
197 lines (144 loc) · 5.23 KB

README.md

File metadata and controls

197 lines (144 loc) · 5.23 KB

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: [email protected] password: zaq1@WSX

Organisation Admin

email: [email protected] password: zaq1@WSX

Sample Teacher

email: [email protected] password: zaq1@WSX

Sample Student

email: [email protected] 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