This is based off of the 5-commit branch at
https://github.com/neobooru/szurubooru/blob/docker-development-setup.
Compared to said branch, we
* Exclude extraneous changes such as
* Any formatting
* The use of deprecated/ineffectual top-level `version:` in composer files
* Support controlling $THREADS (modernizing the branch to upstream)
* Integrate into master more cleanly
However, client/docker-start-dev uses a temporary hack -- due to
volume mounting overwriting node_modules at arbitrary points during the
`docker compose build` step, we run `npm i` before any given
`npm run watch`.
To see the effects of this commit in action, run:
docker compose -f ./docker-compose.dev.yml up