Stopping has three levels. docker compose stop stops the containers and keeps everything; down removes the containers and the network but keeps the pgdata volume, and with it the catalog; down -v removes the volume too, and --rmi local adds the images Compose 514 built itself (those without an image: name):
docker compose down 2>&1 | grep -c Removed
docker volume ls --filter name=l3-booknest --format '{{.Name}}'
docker compose down -v --remove-orphans 2>&1 | grep 'Volume.*Removed'
docker compose ls --all --filter name=l3-booknest4 l3-booknest_pgdata Volume l3-booknest_pgdata Removed NAME STATUS CONFIG FILES
The first down removed three containers and the network but left the volume; the second removed the volume. --remove-orphans also removes containers of services deleted from the file. docker compose down -v && docker compose up -d --wait is BookNest's reset button: a fresh database, re-seeded by the API. down finds resources by project label, so the production stack of Secrets and Configs in Compose needs docker compose -p l3-booknest-prod down.