Setting up Docker services: the step-by-step plan
With Docker you run programs such as Home Assistant, Pi-hole or Jellyfin without installing them loosely on your system. This step-by-step plan runs from the first installation to maintenance, with the tool that takes the work off your hands at each step. The basic story is in Understanding Docker.
Step 1: Choose where Docker runs
On a Raspberry Pi, in a virtual machine or in an LXC container? The Installation Guide helps you choose. Then install Docker with Installing Docker on Linux.
Step 2: Choose your programs
Select the programs you want in the Compose Builder and you immediately get a working compose.yaml, with a check for duplicate ports. More ideas are in Handy Docker programs for home and ready-made compose files.
Step 3: Do you already have a docker run command?
Does a program’s manual contain a long docker run line? Paste it into Docker run → Compose and you get a compose.yaml back. Explanation of the format: Docker Compose.
Step 4: Check the file
Paste your compose.yaml into the Compose Validator. It finds duplicate ports, missing volumes, typos and unsafe settings before you start it. Then you start everything with docker compose up -d.
Step 5: Sort out the permissions
Can’t a container write to its folder? The Permissions Helper (UID/GID) converts user IDs and gives the right chown command.
Step 6: Is it going wrong?
Paste the error message into Analyze Error Message and get the likely cause and a solution in plain language. Also look at the Cheat sheet: Docker.
Step 7: Maintenance and backup
You have to keep Docker up to date. How to do updates without losing anything is in Maintaining Docker. With the Backup and Recovery Planner make a checklist for your volumes and compose files.
Afterwards
See also the other step-by-step plans: setting up a Proxmox server, dividing your home network and arranging backups.