All data/volumes for this stack are intended to be contained in a user folder. Docker will create the appropriate folders when it starts up the containers for the first time. If docker creates the folders they will have root permissions/ownership. It is recommended that ownership is change to a standard user account. Alternatively, one can create the folders prior to starting the stack.
The priority needs to be defined otherwise traefik will route www.acme.com/blog to the nginx container and not the ghost container.
The traefik priority will not work in docker-compose.yml files 3.1. Articles on the Internet that version 3.2 or higher will work. Version 3.7 does work.
On initial startup it takes a while for the mysql container to startup and initialize this can delay ghost from starting up, so you may see ghost failing with an exit code of zero or two. Be patient. Eventually, the InnoDB initialization will complete and ghost will startup properly.
The stripprefix line is required because the ghost application expects to be at the root URL path (i.e. "/") and not in a folder/subpath.