Learn DevOps by fixing real systems — on your own machine.
No cloud fees. No fake terminals. No passive videos.
The Last Deploy (TLD) is an open-source DevOps learning platform built around one core principle: you only truly learn when something is broken and you have to fix it.
Instead of watching videos or copying commands from tutorials, you:
- Spin up a local lab on your actual machine with a single CLI command (
tld start <lab-id>) - Encounter a deliberately broken system — a misconfigured Nginx proxy, a crashed container, a corrupted state file, or broken git history
- Troubleshoot and fix it using real terminal tools
- Validate your fix with
tld check— an automated validator script that verifies exact state requirements - Earn XP and progress across 6 comprehensive tracks at your own pace
Everything runs locally. No account required to start. No cloud costs. Forever free.
/
├── agent/ # tld CLI (v1.1.0) — written in Go
│ ├── cmd/ # Command implementations (start, check, stop, status, sync, doctor, publish, etc.)
│ └── internal/ # Core internal logic (cache, local server, validator engine)
├── challenges/ # 37 lab modules across 6 DevOps tracks
│ ├── linux-* # Fundamentals, Users & Permissions, Processes & Services, Networking
│ ├── git-* # Fundamentals, Branching, Remotes, History & Recovery, Troubleshooting
│ ├── docker-* # Fundamentals, Containers, Images, Networking, Storage, Compose, Troubleshooting
│ ├── k8s-* # Fundamentals, Pods, Workloads, Services & Networking, Config & Storage, Troubleshooting
│ ├── terraform-* # Fundamentals, HCL, Resources, Expressions & Variables, State, Modules, Troubleshooting
│ └── nginx-* # Fundamentals, Serving Content, Configuration, Routing, Reverse Proxy, Security & Performance, Troubleshooting
├── web/
│ ├── backend/ # Platform REST API — Python / FastAPI + Alembic
│ └── frontend/ # Web dashboard — Next.js 15 / React / Tailwind CSS
├── landing/ # Marketing landing page & docs platform — Next.js 15
├── bin/ # Compiled local CLI binaries (gitignored)
├── Makefile # Developer build system & shortcuts
└── LICENSE # Apache 2.0
| Tool | Version | Notes |
|---|---|---|
| Go | 1.21+ | Required for CLI build |
| Node | 18+ | Required for web dashboard & landing |
| Python | 3.11+ | Required for backend API |
| Docker | 24+ | Required for running containerized labs |
# Build and install tld binary to /usr/local/bin
make install
# Or build to ./bin/tld locally
make buildtld logintld sync --alltld start docker-fundamentalstld checktld status # View active lab status and progress
tld stop # Stop active lab environment
tld doctor # Run local environment diagnostics
tld publish # Package and publish custom challenge modules
tld version # Display CLI version infocd web/backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reloadcd web/frontend
npm install
npm run dev # runs on http://localhost:3000cd landing
npm install
npm run dev # runs on http://localhost:3002| Track | Sub-Modules | Status |
|---|---|---|
| Linux | Fundamentals, Users & Permissions, Processes & Services, Networking, Broken Permissions | ✅ Available (5 modules) |
| Git | Fundamentals, Branching, Remotes & Collaboration, History & Recovery, Troubleshooting | ✅ Available (5 modules) |
| Docker | Fundamentals, Containers, Images, Networking, Storage, Compose, Troubleshooting | ✅ Available (7 modules) |
| Kubernetes | Fundamentals, Pods, Workloads, Services & Networking, Config & Storage, Troubleshooting | ✅ Available (6 modules) |
| Terraform | Fundamentals, HCL, Resources, Expressions & Variables, State, Modules, Troubleshooting | ✅ Available (7 modules) |
| Nginx | Fundamentals, Serving Content, Configuration, Routing, Reverse Proxy, Security & Performance, Troubleshooting | ✅ Available (7 modules) |
| Jenkins | CI/CD Pipelines & Automation | 🔜 Coming Soon |
| Monitoring | Prometheus & Grafana Observability | 🔜 Coming Soon |
We welcome contributions of all kinds — new lab challenges, bug fixes, validator enhancements, and documentation.
See CONTRIBUTING.md to get started.
- 💬 Discord — Join our Discord community
- ⭐ GitHub — Star the repo on GitHub to follow progress
- 🔧 Issues — Open an issue for bug reports or feature requests
Licensed under the Apache License 2.0. See LICENSE for details.
Copyright 2026 Shreyansh Shankar