First upgrades the Dockerfile to PHP 8.2. I had to remove a bunch of dev-only Composer dependencies that don't support PHP 8 (and some don't exist at all anymore) - the only risky one is codeception which is a major version bump
Second onwards is all the changes I had to make to the setup flow to get it to succeed in one go - mainly making all the database operations idempotent and a few other smaller fixes.
Two changes in this PR: