LabHub

Blog

LabHub — I opened a hands-on platform where you learn on a real server, in the browser

한국어English日本語中文

Some things do not stick from reading.

One paragraph is enough to explain what chmod 600 means. And yet when you actually sit down in front of a server, your hands do not move. Where the file is, what the permissions look like right now, what you check with after changing them — that only stays with you if you type it yourself.

So I built it. https://labhub.hopto.org

What it is

A hands-on platform where you learn on a real Linux server, from the browser.

You open a course and press start, and a container dedicated to you is created immediately on a Kubernetes cluster. You attach to that container from a terminal inside the browser and work through the task. At each step you press the grade button, and the server inspects the actual state inside the container and tells you whether you passed. When the lab ends or the time limit runs out, the container disappears.

There is nothing to install. No virtual machine to build, no cloud account to open. A browser is all you need.

What is in it

Learning paths12
Courses73
Labs261 · 2,058 steps
Quizzes303 · 1,876 questions
Theory319 lessons

The learning paths break down like this.

How to use it

1. Log in. Start with a Google account, or just type a name and look around. With a name only, your record lives in that browser alone.

2. Pick a learning path. If you are not sure where to begin, start with IT Fundamentals. If your goal is specific (the CKA certification, say), go straight into that path.

3. Follow the modules in order. Each module is made of three kinds of lesson.

4. Press the check button at each step. Pass and you get a small celebration; miss and you can open a hint. Hints do not hand you the whole answer, they tell you which command to reach for and for what reason.

5. Press the end button when you are done. The container is released immediately. Closing the window is fine too, it gets reclaimed automatically.

If you are looking for something, press Cmd+K or Ctrl+K from anywhere. Courses and labs come up by name.

Why this approach works

It looks at actual state, not at answer code

Most online coding education compares the code a learner submits against a reference answer. Which means someone who reached the same result by a different route gets marked wrong.

The grading scripts in LabHub run inside the container and check the actual state of the system. The step that asks you to create a /root/work directory, for example, is inspected like this.

[ -d /root/work ] && echo "work directory exists" \
  || { echo "/root/work directory is missing"; exit 1; }

Whether you made it with mkdir or with install -d does not matter. If the result is right, you pass. And when you fail, it tells you what the state is right now. Not "wrong" but "permissions are currently 644".

Nothing breaks when you fail

The lab container is fully isolated. Type rm -rf, wipe out system files, spin an infinite loop — only your own container dies. Start again next time and a clean environment comes up fresh.

This matters more in learning than it sounds. If you handle things gingerly because you are afraid of breaking them, you learn slowly. You have to be able to smash things.

Theory and labs sit next to each other

Read the concepts alone and they are gone in a few days; do the labs alone and your hands get used to something you do not understand. So every module keeps the same order: lay the theory down, move your hands through the lab, confirm with the quiz.

The theory is not a translated manual. The lesson on file descriptors, for instance, gets into this — if df says there is room but you cannot write, either inodes are exhausted or a deleted-but-still-open file is holding the space, and rebooting destroys the chance to recover it.

Progress stays visible

The course outline stays on the left while you study. Overall progress, a progress ring per module, a completion check on each lesson. No round trip out to a table of contents and back just to see how far you have come.

There are XP and levels, a study streak, and badges. Finish a course 100% and a certificate is issued, verifiable by number.

If you are studying for a certification

Kubernetes certifications are handled by two separate paths.

Kubestronaut is the title CNCF gives you for passing all five of KCNA, KCSA, CKA, CKAD, CKS. Golden Kubestronaut adds every CNCF certification plus LFCS on top of that.

For each certification the exam curriculum is split into modules, and in the labs you type real kubectl. A genuine Kubernetes control plane comes up inside the lab container, so creating API objects, tuning scheduling, verifying RBAC, and backing up and restoring etcd all actually work.

One thing written honestly. This environment has no real container runtime, so kubectl exec into a workload pod and reading genuine logs are not possible. That territory is covered by theory and quizzes instead of labs. What the exam asks on paper mostly sits in the part that does work, so preparation is not hurt, but it is better to know going in.

Pricing

Most of it is free right now.

What went behind Pro was decided by resources, not revenue. The load testing and LLM serving labs use far more CPU and memory than the rest. Each account gets one 7-day trial.

The reason it can be this cheap is simple. It runs on seven servers sitting in my home. There is no cloud bill, and the marginal cost is electricity. Set against overseas paid platforms at 30,000 to 40,000 KRW a month, that gap goes straight into the price.

Constraints worth knowing

Written without exaggeration.

How it was built

How it was built technically — putting Kubernetes inside an unprivileged container, the five layers that isolate a lab pod, the traps stepped on along the way — is written up in a separate post.

Feedback welcome

There is a feedback button at the bottom right of the screen. After a lab finishes it sometimes asks for a star rating.

Something is wrong, a hint did not help, a course you wish existed — anything works. I am building this alone, so a report from someone who actually used it is the most accurate input there is.

https://labhub.hopto.org

Comments

No comments yet.

Sign in to leave a comment