I've had many strategies over the years how to most easily administrate my website and additional services. My current strategy is to containerize services as much as possible.
Some major goals with adopting this strategy:
I have learned that Docker Containers are not a cure-all solution as a system admin. A lot of software exists for managing containers and alternative container platforms exist. However, I remain with Docker as it is the most popular platform with lots of documentation and popular Docker Hub. I also do not use any docker management software; this may cost me man-hours but for my limited use case I do not want to learn something new.
I contain everything in one directory for simplicity. This is not the Docker-BKM procedure, but for the simple set of services I host it works well. Within my docker folder, each service will have a folder for containing data, and a single docker compose file.
I created the following "screenshot" with the following (in Windows):
tree c:\temp > c:\temp\treeout.txt /A /F
docker | dc_grav.yml | dc_reverse-proxy.yml | +---build_grav | Dockerfile | +---grav | Placeholder for Grav data.txt | \---reverse-proxy Placeholder for reverse proxy data.txt
This is where I need to provide an example Docker-Compose file (probably both grav and reverse proxy).
I do not use any container orchestrators for managing my containers.