Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Free resources

Linux and DevOps

A whole Ubuntu machine to administer, then containers, web servers, monitoring and configuration as code.

← All topics

Hands-on labs

Labs

Every lab is a real environment with a terminal beside it, nothing to install. Each has a short basic lesson that shows how a lesson works with a lab. A free account runs every lab and is given the basic lessons on Home; with no account you can run the Git lab and the SQL lab.

Ubuntu VM lab

Linux administration lab: users, permissions, cron and systemd in your browser

A Linux administration lab: users and groups, a shared folder, a cron job and a systemd service on a private Ubuntu VM, marked by a script. Free sample.

Free lessons

  • Linux Administration Basics

How it works · Source on GitHub · Sign up free for the lesson

Container lab

Docker basics lab: learn containers, logs and restarts by fixing a broken service

Three containers in each student’s private lab copy, one broken on purpose: read its log, fix it and restart it with docker. Nothing to install; code on GitHub.

Free lessons

  • Docker Basics

How it works · Source on GitHub · Create a free account to run it

Container lab

Web server hardening lab: fix a weak nginx configuration and check it with curl

Fix a deliberately weak nginx server in each student’s private lab copy: headers, folder listing, hidden files. Nothing to install; source on GitHub.

Free lessons

  • Web Server Hardening Basics

How it works · Source on GitHub · Create a free account to run it

Container lab

Observability lab: Prometheus and Grafana, with an alerting rule for the student to write

Each student gets a private Prometheus and Grafana watching a web server: ask in PromQL, draw a panel, write an alert and make it fire. Source on GitHub.

Free lessons

  • Observability Basics

How it works · Source on GitHub · Create a free account to run it

Ubuntu VM lab

Ansible lab: configure a machine with a playbook, in your browser

An Ansible lab: finish a playbook that installs a package, fills a template and writes a unit file, then run it twice. A private Ubuntu VM, marked by a script.

Free lessons

  • Ansible Basics

How it works · Source on GitHub · Sign up free for the lesson

Basic lessons are given to every free account, on Home, and to every college. Curriculum lessons, such as T Level, are for colleges. Labs marked as an Ubuntu VM lab are set by a teacher in a module, and their lessons start the VM for you.

Run these yourself

A free personal account runs every lab here and its lesson. Teaching a class? Start a college and set them for your students.

Make a free accountStart a college

Already have an account? Sign in