MySQL using deprecated NO_ZERO_DATE
We should unset this default from now on, the feature is deprecated:
SET GLOBAL sql_mode = replace(@@global.sql_mode, 'NO_ZERO_DATE,', '');
Unfortunately having it enabled will break some apps now and in the future. This cannot be disabled per database AFAIK so it must be system-wide.
Agreed. Same applies to
NO_ZERO_IN_DATE. The main issue as you already noted is that apps have to be ported/fixed to not use zero dates. This is a bit outside the scope of Cloudron since we don't control the apps. Note that apps can always enable strict mode (currently, only enabled for trans tables) and not use that feature.
I don't think it will hurt current apps either if the change is made. My worry is apps in the future will not accommodate Cloudron if this default is left as is.
That said I am excited to see this issue resolved as I have a few app ideas that can benefit from this.