Pills
Leave with it running. In production. Built by you.
A pill is a short, practical course for very few people, with a single objective declared up front.
-
One objective, not a syllabus
Every pill declares what you will be able to build and run in production by the end. If you do not leave with that working, the pill failed.
-
Six seats
Tiny groups, so nobody gets stuck in silence.
-
Nobody arrives unprepared
Before the session you verify your machine with a script and prove the prerequisites. That way your hours are spent building, not troubleshooting somebody else's setup.
-
Metered to the minute
The full agenda is published before you buy. It starts and ends when it says.
Free hands-on labs
How-to videos with reproducible steps — every command really ran. Start here.
Upgrade Jellyfin from 10.11 to 12 in Docker with a Backup and Rollback
Upgrading Jellyfin from 10.11.11 to 12.0 in Docker requires copying the /config volume first, because 12.0 rewrites the database. In this lab you take the copy with a helper container, migrate, read version 12.0.0 from the API and confirm that going back only works by restoring that copy.
How to upgrade Gitea 1.27 to 28 with Docker without losing webhooks
To upgrade Gitea 1.27 to 28 with Docker, stop the container, back up the /data volume, delete the legacy egress keys from app.ini and change GITEA_TAG to 28.0.0. In this lab 28 starts with 13 migrations and 0 errors, and the repository and webhook created on 1.27.3 keep working.
How to Run OpenBao in Docker with Raft Storage
OpenBao is the MPL 2.0 secrets manager that keeps Vault's API. In this lab you run it in Docker with the 2.6.2 image and Raft storage, initialise it with 5 keys, unseal it with 3, store and read a secret in KV v2 and take a Raft snapshot as a backup.