concept

Containerisation

A method of packaging software so each application runs in its own isolated environment, making self hosted software easy to deploy and manage.

Containerisation is a method of packaging software so that each application runs in its own isolated environment, separate from everything else on the system.

Why it matters for self hosting

Without containers, installing software directly onto a Raspberry Pi creates dependency conflicts and makes applications difficult to update or remove cleanly. With containers, each application brings everything it needs with it and runs in isolation. You can add, update, restart, or remove one application without affecting anything else on the machine.

Docker is the container runtime used across almost all self-hosted software. The vast majority of self hosted applications ship as official Docker images: Frigate, AdGuard Home, Nextcloud, Jellyfin, and Portainer among them. Deploying them is a matter of running a command or defining a configuration file, not a complex installation process.

What this means in practice

A single Raspberry Pi can run a dozen containerised services simultaneously. Each is isolated. Each can be updated independently. If one fails, the others continue running. When you want to remove something, you stop and delete the container and nothing is left behind on the underlying system.

Portainer provides a browser-based interface for managing containers visually, which is useful particularly when you are starting out.