Course catalogue
From Linux fundamentals to running production servers.
- Beginner
Your first server
What a server is, how to connect to one for the first time, and how to keep it updated without breaking it.
7 lessons · 136 minutes
- Beginner
Linux Fundamentals
First steps in a Linux terminal: finding your way around the filesystem, reading files, and understanding permissions.
11 lessons · 193 minutes
- Intermediate
Managing services with systemd
Start, stop and diagnose services on an Ubuntu server, and write a unit for your own application.
7 lessons · 130 minutes
- Intermediate
Users, sudo and SSH access
Create accounts, grant privileges with sudo, and secure SSH with keys — without ever locking yourself out.
4 lessons · 85 minutes
- Intermediate
Networking: how your server is reached
Addresses, ports and connections: name the failing layer instead of declaring "the network is down".
5 lessons · 105 minutes
- Advanced
Hosting a web application with Nginx
Serve a React/Vite build, put a Node.js or Next.js application behind a reverse proxy, and move to HTTPS.
4 lessons · 88 minutes
- Advanced
ISPConfig: hosting several sites on one server
Install the ISPConfig panel on Ubuntu Server, understand what it automates, and host a site and then a Node.js application on it.
5 lessons · 140 minutes
- Intermediate
Bash scripting for administrators
Automate administrative tasks without writing a script that fails silently or destroys data through an empty variable.
5 lessons · 124 minutes
- Intermediate
Backups and restores
Back up a database and files, apply retention, and above all verify that a restore works before you need it.
5 lessons · 125 minutes
- Intermediate
Firewall and hardening
Close what has no business being open, slow automated attacks down, and check regularly what the server exposes — without locking yourself out.
5 lessons · 130 minutes
- Intermediate
Monitoring a server
Read disk, memory and load correctly, control log growth, and find out before your users do.
5 lessons · 126 minutes
- Intermediate
DNS: pointing a domain at your server
Understand how a name resolves, publish the right records, and diagnose with dig instead of waiting.
2 lessons · 52 minutes
- Intermediate
Diagnosing a failure: what each output proves
Read what each output actually proves, narrow an unknown failure down to one component, and fix it without destroying the evidence that explained it.
6 lessons · 128 minutes
- Intermediate
Docker: containers for hosting a Node application
What a container actually is, when to do without one, and how to put a Node application and its database behind a reverse proxy without exposing the machine.
5 lessons · 108 minutes
- Intermediate
Deploying: releases, the switch and rolling back
Get the code onto the server, switch in a single operation, and be able to go back — including when the verification fails.
4 lessons · 90 minutes
- Advanced
Administering PostgreSQL: access, connections and growth
Who may connect, how many at once, what the database is doing right now, and why it takes more space than the data inside it.
4 lessons · 92 minutes
- Intermediate
Git for administrators: a history you can trust
Answer "what changed?" with a command instead of a memory: commits, history, remotes and release tags.
6 lessons · 127 minutes
- Advanced
The capstone: from repository to production
The whole curriculum on one machine: build a production service, break it, restore it, and prove it holds.
4 lessons · 97 minutes
