Self-hosted · Open source · Always growing

Learn DevOps on a real Kubernetes cluster

An interactive, self-hosted lab that runs a live k3s cluster inside Docker on your laptop — with an in-browser terminal, structured lessons, and pre-loaded tooling. No simulators. No cloud bills.

↗ Get started on GitHub View curriculum
Docker Compose k3s · Kubernetes ArgoCD · GitOps Prometheus Grafana External Secrets FastAPI Python nginx

What you get

Everything you need to practise real DevOps

Every component runs locally. Open the browser, pick a lesson, and start running commands against live infrastructure within minutes.

Real Kubernetes cluster

A k3s cluster boots inside Docker with ArgoCD, Prometheus, Grafana, and External Secrets Operator pre-installed. No mocks, no sandboxed abstractions.

Live in-browser terminal

A real bash shell connects directly to the sandbox container. Run kubectl, helm, argocd, and Python commands without leaving the UI.

Split-view lessons

Read theory on the left, run commands on the right — at the same time. Toggle between Split, Theory-only, and Terminal-only views.

Structured lessons, always growing

12 topics ordered from Linux fundamentals through to Kubernetes, GitOps, Security, Observability, Bash scripting, Python automation, and real-world projects.

Progress tracking

Mark lessons complete as you go. Progress is saved locally and persists between restarts — pick up exactly where you left off.

One-command setup

Clone the repo and run ./start.sh build. The bootstrap container handles everything — no manual cluster configuration required.


Curriculum

Hands-on lessons across 12 topics

Lessons are ordered so that later topics build on earlier ones. New content is added regularly.

Topic Lessons
Linux & OS Linux Fundamentals · Terminal Mastery & System Monitoring
Git Git Fundamentals
Networking Networking & Protocols · TLS, Certificates & PKI · Web Servers, Reverse Proxies & Load Balancers
Docker Images, Layers & Networking
Kubernetes Core Concepts · Operations · Service Mesh · API Gateways & Ingress
Cloud AWS Fundamentals · Multi-Cloud: Azure & GCP
IaC Terraform Modules & State · Configuration Management with Ansible
CI/CD & Helm GitLab CI/CD · CI/CD with GitHub Actions · Helm Chart Authoring
GitOps GitOps & ArgoCD
Security Secret Management · Kubernetes RBAC · Network Policies · Container Security
Observability Prometheus & PromQL · Logs Management · Distributed Tracing · Log Aggregation · Alerting
Bash Defensive Scripting · Text & Data Wrangling · Idempotent Scripts · Reusable Libraries · kubectl Scripting · Arrays · Advanced String Processing
Python Basics for DevOps · subprocess · boto3 · Kubernetes Client · REST APIs · OOP · Testing
Projects GitLab CI Helper · ESO Secret Rotation · Namespace & Cost Hygiene CLI · Keycloak & On-Prem Ops

Quick start

Up and running in minutes

Requires Docker with Compose v2 and ~4 GB of free RAM. Works on macOS, Linux, and Windows (WSL2).

1

Clone the repo

Download the project to your machine.

2

Build and start

Run ./start.sh build. Images are built and the cluster bootstraps automatically.

3

Open the lab

Navigate to http://localhost:3000. The status indicator turns green once the cluster is ready (3–5 min on first run).

4

Start learning

Pick any lesson from the dashboard or sidebar and start running commands in the live terminal.

# Clone
git clone https://github.com/estebanmorenoit/
        devops-learning-lab.git
cd devops-learning-lab

# Build images and start cluster
./start.sh build

# Open the lab
open http://localhost:3000

# Watch bootstrap progress
./start.sh logs-bootstrap

Technology stack

Everything runs locally

No cloud account required. The full stack boots inside Docker Compose on your laptop.

k3s v1.29.4
Kubernetes cluster
ArgoCD v2.10.5
GitOps
External Secrets Operator
Secret management
Prometheus
Monitoring & alerting
Grafana
Dashboards
FastAPI + uvicorn
Backend & PTY WebSocket
nginx alpine
Frontend
xterm.js 5.3.0
In-browser terminal
Python 3.12
Scripting lessons