Table of Contents
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.
To get a local copy up and running follow these simple steps(it's not an easy task):
Only tested on MacOS.
-
Python
-
Docker
-
Docker Compose
-
Helm and Helmfile
brew install helm brew install helmfile helmfile init
-
Clone the repo
git clone https://github.com/michallm/classlab.git
-
Build the docker images
docker compose build
-
Apply migrations
docker compose run --rm django python manage.py migrate
-
Load seed data
docker compose run --rm django python manage.py loaddata fixtures/seed.json
-
Start the application
docker compose up
email: admin@example.com password: zaq1@WSX
email: admin@test.com password: zaq1@WSX
email: teacher@test.com password: zaq1@WSX
email: student@test.com password: zaq1@WSX
- Mailpit: http://localhost:8025
- Flower: http://localhost:5555
- Django admin: http://localhost:8000/admin
- Website: http://localhost:8000
- Prometheus: http://localhost:9090
- Grafana: http://localhost:8080
kubectl port-forward svc/kube-prometheus-stack-grafana 8080:80 -n monitoring
cd templates
python generate.py -d -n <namespace>
- 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).
Project Link: https://github.com/michallm/classlab