The upgrade is done! Thanks so much everyone for your help!
pianotell@pianotell-primary-01:~/PianoTell$ echo Start: `date`; src/admin/upgrade-flarum-1-to-2.sh ; echo Complete: `date`
Start: Wed Jul 15 05:11:56 AM UTC 2026
==> Sanity checks
On branch 2.x.
compose.yaml + config.php found.
Pulling the latest primatecoder/pianotell:web-2.0 before downtime...
[+] pull 26/26
✔ Image primatecoder/pianotell:web-2.0 Pulled 19.8s
compose.yaml uses web-2.0; latest published image is present locally.
database service is running.
==> Stopping the web container
Stop the web container? [y/N] y
[+] stop 1/1
✔ Container pianotell-web Stopped 10.5s
web stopped.
==> Backing up the database
Take a DB backup before proceeding? [y/N] y
Backup written: data/web/backup/pre-flarum2-20260715-051233.sql.gz (18284532 bytes)
==> Ensuring config.php driver is 'mariadb'
Check and update config.php driver if needed? [y/N] y
driver rewritten mysql -> mariadb. Original saved as data/web/config/config.php.pre-flarum2-20260715-051233.bak
==> Starting web-2.0
First boot will run, in order: migrate -> assets:publish -> cache:clear
Start the web container now? [y/N] y
[+] up 2/2
✔ Container pianotell-database Healthy 6.7s
✔ Container pianotell-web Started 6.0s
web container started.
==> Waiting for first-boot migrations to finish
==> Enabling default Flarum 2 extensions
Running Flarum extension commands as pianotell:docker.
Enabling 'ekumanov-post-search' extension...
Enabled ekumanov-post-search.
==> Recent web logs
...
pianotell-web | cd /var/www/html/
pianotell-web | php flarum migrate
pianotell-web | php flarum assets:publish
pianotell-web | php flarum cache:clear
...
pianotell-web | Migrating Flarum...
pianotell-web | Publishing core assets...
pianotell-web | Publishing extension assets...
pianotell-web | Clearing the cache...
pianotell-web | PianoTell web server starting. Access logs are written to /var/log/pianotell/access.log
...
Complete: Wed Jul 15 05:12:53 AM UTC 2026
That's basically under a minute including downloading the new docker image, etc.
In terms of issues I need to track:
- I'm pretty sure UX performance has taken a slight hit.
- There's a bug with FoF Categories:
- Go to a Forum like https://forum.pianotell.com/t/notes
- Click "Start a Discussion" and close it.
- Then click the header to go back to the Forum list -- the button still behaves like it is in the previous forum.

- The search dialog has some jumbled byobu nonsense that I can't understand as a user:

- Dark mode improvements
- I need to get back on upstream versions of the extensions and off of temp-ports.
I'm pretty sure there are more glitches and such, but hopefully it will smooth out over time.
Thank you so much everyone, especially IanM, huseyinfiliz, GreXXL, KBExit, and everyone else, for all your help and everything you've done!