Docker on this site is the container runtime I use when the host is an ordinary Linux install and a compose file is the whole deployment. Alpine laptop Pi-hole, Jellyfin on Alpine, and SafeLine in front of self-hosted apps are the posts where Docker is the point. Several Fedora and CoreOS notes also wear this tag because the homelab conversation started with Docker even when the unit I want you to run is a Podman Quadlet. The tag page says so, instead of pretending every result is a compose tutorial.

If the host is Fedora CoreOS, switch to the Podman tag after you skim titles. Quadlets are systemd units. They come back on boot without a shell script calling podman run, and they fit an image-based host better than a Docker daemon I then have to babysit. If the host is Alpine, stay here. apk plus the community repo plus Docker Compose is the path that actually worked for Pi-hole, after the upstream installer rejected Alpine's package manager.

SafeLine is the security-shaped compose example: read the file, set a real database password, and do not bind the admin UI to the world. It is a WAF in front of apps, not a patch for the apps. Jellyfin is the media-shaped example. Neither post is a Kubernetes cluster, and neither needs one. One compose project, a volume you can find again, and a firewall, is the whole standard I am willing to recommend.

Start here