Well, it took me two years, but I finally bothered to learn how to create a separate data container and rebuild/upgrade the site with a minute rather than a quarter hour of downtime. Just yesterday I started thinking about creating a ./discourse-setup that would create two containers (based on data.yml and web_only.yml) rather than one.
I hadn’t started looking at launcher’s exit codes to see if I could safely script
./launcher bootstrap web
./launcher destroy web
./launcher start web
to avoid destroying the container if the new one didn’t get created.
Since the site isn’t down during a rebuild, reducing the build time is less critical.
Yes, well. Moving off digital ocean isn’t an option for lots of people. Heck. Once someone offered to subsidize my getting such a server, but couldn’t justify it with my current business model. I’m getting closer now, but I’m still a ways off from that making fiscal sense.
Even with a fast Server, though the two container model reduces downtime dramatically.
So I’m assuming that the one click upgrade will not work when an underlying component needs an upgrade right?
I’m trying to figure out if I can’t automate the upgrades and “forget” to upgrade for a few months or year or more and suddenly decide to upgrade - will I be able to?
It would be really cool if during setup discourse could setup an automatic upgrade script to run every X days or weeks or months. Maybe pick a day and time of a week or month to run the upgrade in the background essentially making it even (awesome) hands free to maintain.