Learn Alpine Linux (a lightweight, security-oriented Linux distro built on musl libc and BusyBox) from basics to production-grade: pre-requisite skills & environment setup, background history & why you need it, core concepts & main architecture, installation & setup with setup-alpine, package management with apk, OpenRC init system & service management, users, groups & privileges with doas, basic networking & filesystem, diskless data & USB install, SSH, time sync & logging, firewall iptables/nftables & nft, web server & LEMP stack, kernel & kernel management, security hardening, musl libc implications & compatibility, TLS & certificates, container runtimes Docker & Podman, Alpine 3.24 & latest features, advanced networking VPN & tunneling, performance & resource optimization, cloud, SBC & embedded, Alpine roadmap & community, up to the alternative ecosystem & final reflection across 23 episodes total.
Before touching any Alpine configuration, you need to master basic Linux CLI skills, package manager concepts, and networking. In this episode you will also set up a VM or container, download the Alpine ISO image from alpinelinux.org, and verify the environment before moving on.

This episode traces the origins of Alpine Linux back to 2010 as a distro for small routers, the Small Simple Secure philosophy, and its major release history. You'll also understand why its minimal image size, low RAM footprint, and security design make Alpine a popular choice for containers and firewalls.

This episode dissects Alpine's architecture from its roots: musl libc versus glibc, BusyBox with its applet concept, the apk package manager with its main, community, and testing repositories, and the OpenRC init system. You'll also get to know key components such as the kernel and setup-alpine.

This episode walks you through installing Alpine from scratch using the setup-alpine wizard: keymap, hostname, networking, repositories, admin user, SSH, and choosing the sys or data disk schema. You'll also learn setup-disk, setup-xorg-base for a desktop, and the boot process with GRUB or Syslinux.

This episode takes a deep dive into apk, Alpine's package manager. You'll learn the basic apk update, add, del, and upgrade commands, the repository structure in /etc/apk/repositories, and apk search, info, and audit. The episode also explains the differences between apk v2 on older versions and apk v3 on Alpine 3.23 and later.

This episode dissects OpenRC, Alpine's non-systemd init system. You'll learn the boot chain from PID 1 to init and on to OpenRC, manage services with rc-service and rc-update, read rc-status, and understand the /etc/init.d and /etc/conf.d structure to write your own services.

This episode covers user and group management in Alpine with adduser, addgroup, and deluser, including the contents of /etc/passwd and /etc/group. You'll also learn doas as a sudo replacement, the /etc/doas.d configuration, and the role of the wheel group for administrative privileges.

This episode explains how Alpine manages networking with OpenRC-style /etc/network/interfaces, the ifup, ifdown, and ip commands, and the DNS resolver in /etc/resolv.conf. You'll also learn Alpine's filesystem layout, /etc/fstab, mounting, and support for ext4, btrfs, and xfs.

This episode covers Alpine's most distinctive installation modes: diskless, which boots entirely from RAM using an initramfs, the data mode with a separate data partition, and installation to USB media. You'll also learn lbu for persisting and restoring system configuration.

This episode configures essential operational services: OpenSSH with setup-sshd and sshd_config hardening, time synchronization with chrony, and logging with BusyBox syslog and logrotate. You'll also learn to restrict root access and use SSH keys.
