Docker
Running and managing containerized services with Docker Compose. Basically every service I run is a compose stack.
All servers run Docker CE 29.x with the Compose plugin (docker compose) on Debian 13, installed from Docker's apt
repository. Images are pinned to version tags, Renovate proposes updates as pull requests, and a push to git
redeploys the changed stacks (see GitOps).
-
Installing Docker CE and the Compose plugin on Debian 13 from Docker's apt repo, and upgrading it by hand.
-
The fleet
daemon.json(log rotation, container DNS, shutdown timeout) and why the Docker socket is root. -
Pinned tags + Renovate, healthchecks,
depends_onconditions, autoheal, restart policies, andconfig -qbefore deploy. -
Networks (page not written yet)
Bridge, host, and macvlan networks. External networks for cross-stack communication.
-
Volumes (page not written yet)
Named volumes vs bind mounts, the
/opt/dockerdirectory convention, and external volumes. -
DNS in Containers (page not written yet)
The
dns:key in compose and resolving<YOUR_LOCAL_DOMAIN>hostnames from containers. -
Security (page not written yet)
Non-root users,
.envfile permissions, read-only mounts, and socket exposure. -
Command reference, update workflows, volume backups, and environment variable patterns.